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 に答える