清除textarea文本时,jQuery删除textarea占位符

时间:2013-02-01 17:14:35

标签: jquery twitter-bootstrap

我有一个带有textarea的Bootstrap模态。打开模态时,需要清除textarea以前的任何文本,以便每次打开它时都是新鲜的。

问题是,第一次清除文本时,字段上的占位符也会被删除。

我正在使用$('textarea').val('')来清除文字。

http://jsfiddle.net/dkRS8/1/

4 个答案:

答案 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('');
    });

});