0

当我的用户模糊或输入文本框时,我想触发一个功能。我编写了这段代码来实现它:

text:function(input,el){
    var textCheck = function(){
        var value = $.trim(el.val());
        if(!value){
             el.addClass('error');
        }else{
             el.removeClass('error');
        }
    }

    $(el).on('blur click keyup', textCheck); //calling the function
    $(el).on('keyup', function(e){ ////calling the function again 
        if(e.keyCode == 13){
             textCheck();
        }
   });
   //instead of calling 2 times, how can i put together as single call?
}

我可以缩短绑定事件的代码吗?

4

2 回答 2

2

是的!您可以使用.bind()除事件处理程序映射之外的 jQuery 方法:

$(el).bind({
    "blur click keyup": textCheck,
    "keyup": function(e) {
        if(e.keyCode == 13) {
            textCheck();
        }
    }
});
于 2013-01-11T09:48:09.817 回答
0

可以这样做:{但找不到任何目的}

text:function(input,el){
    var textCheck = function(e){
        if(e && e.type == "keyup" && e.keyCode == 13)
                        textCheck();
        var value = $.trim(el.val());
        if(!value){
             el.addClass('error');
        }else{
             el.removeClass('error');
        }
    }

    $(el).on('blur click keyup', textCheck); //calling the function

}
于 2013-01-11T09:43:46.703 回答