我有一个带有textarea的Bootstrap模态。打开模态时,需要清除textarea以前的任何文本,以便每次打开它时都是新鲜的。
问题是,第一次清除文本时,字段上的占位符也会被删除。
我正在使用$('textarea').val('')
来清除文字。
答案 0 :(得分:2)
您需要触发blur
事件才能让占位符再次显示。并且它仅在隐藏事件期间起作用,因此当它再次出现时,占位符被放回。
$('#modal').on('hide', function() {
$(this).find('textarea').val('').blur();
});
工作jsfiddle
编辑:我错了,似乎只是将事件从show
更改为hide
而没有模糊效果,正如马丁在答案中所解释的那样使用事件shown
答案 1 :(得分:2)
当您注册“显示”事件而不是“显示”事件时,它会起作用。
$(document).ready(function() {
$('#modal').on('shown', function() {
$(this).find('textarea').val('');
});
});
答案 2 :(得分:0)
试
$(document).ready(function() {
$('#modal').bind('hide',function(){
$('textarea',this).val('')
})
});
多浏览器,jquery-ui事件标准
答案 3 :(得分:-1)
在IE版本中.. IE 10仅支持占位符 ....所以不要在旧版本的IE上尝试这个thig ....
但其他浏览器如firefox,Chrome,Opera ......都支持此属性......
尝试下面的代码,它会帮助你......
更新了小提琴:http://jsfiddle.net/dkRS8/6/
$(document).ready(function() {
$('#modal').on('show', function() {
var ele = $(this).find('textarea');
ele.val('');
});
});