我有一个带有文本区域的Bootstrap模态框。每次打开模态框时,需要清除文本区域中的任何先前文本,以便使其保持新鲜状态。
问题是,第一次清除文本时,字段上的占位符也被删除了。
我正在使用$('textarea').val('')来清除文本。
链接:http://jsfiddle.net/dkRS8/1/
问题是,第一次清除文本时,字段上的占位符也被删除了。
我正在使用$('textarea').val('')来清除文本。
链接:http://jsfiddle.net/dkRS8/1/
blur
事件才能再次出现占位符。它仅在隐藏事件期间有效,因此当它再次出现时,占位符会被放回去。$('#modal').on('hide', function() {
$(this).find('textarea').val('').blur();
});
使用jsfiddle进行开发
编辑: 我错了,只需按Martin在他的答案中解释的那样将事件从show
更改为hide
,即可在没有模糊的情况下工作。他使用了事件shown
当您注册“shown”事件而不是“show”事件时,它会起作用。
$(document).ready(function() {
$('#modal').on('shown', function() {
$(this).find('textarea').val('');
});
});
$(document).ready(function() {
$('#modal').bind('hide',function(){
$('textarea',this).val('')
})
});
多浏览器,jQuery-UI事件标准
在IE的各个版本中.. 只有IE 10支持占位符....所以不要在旧版本的IE上尝试这个东西....
但是其他浏览器,比如firefox,Chrome,Opera...都支持这个属性...
尝试下面的代码它会帮助你...
更新后的fiddle : http://jsfiddle.net/dkRS8/6/
$(document).ready(function() {
$('#modal').on('show', function() {
var ele = $(this).find('textarea');
ele.val('');
});
});