如何使用jquery将焦点侦听添加到每个输入框?

时间:2012-04-17 10:49:42

标签: jquery

这是我尝试添加一个侦听器,该侦听器清除每个输入框的焦点上的占位符。我的代码中是否有任何错误?

var $inputs = $('.add-item-form :input');
$inputs.each(function() {
    var that = $(this);
    that.focus(function() {
        that.attr('placeholder') = '';
    })
});​

4 个答案:

答案 0 :(得分:2)

使用

that.attr('placeholder','');

insted of

that.attr('placeholder')='';

完整代码

 var $inputs = $('.add-item-form :input');
        $inputs.each(function() {
            var that = $(this);
            that.focus(function() {
                that.attr('placeholder','');
            })  
        });

正如 gdoron 所说,不需要缓存dom对象,你可以使用 gdoron的代码更清晰的代码

答案 1 :(得分:2)

$('.add-item-form :input').focus(function() {
    $(this).attr('placeholder', '');
});​

答案 2 :(得分:0)

$('.add-item-form :input').each(function() {
     var that = $(this);
     that.on('focus', function() {
         that.attr('placeholder','');
     });  
});

答案 3 :(得分:0)

$('.add-item-form:input').focus(function() {
    $(this).attr('placeholder', '');
});​

正如gdoron建议的那样,你必须删除jquery选择器上的额外空间 这个:'.add-item-form:input' 而不是:'.add-item-form :input'