使用bind click事件处理程序将'this'传递给另一个函数

时间:2014-03-08 04:10:03

标签: javascript jquery

我有一个绑定事件我要调用一个函数,但我需要将this传递给函数:

$( 'input.require' ).bind('paste', null, function(e) {
    if(!e.keyCode){
        required(this);
    }
});

这是我正在调用的函数,这适用于所有其他事件处理程序。

更新:添加setTimeout使其有效。这样做是否可行,或者是否有更好的方法。

function required(thisObj){
    setTimeout(function () {
        if($(thisObj).val() != ''){
           $(thisObj).removeClass('input-yellow'); 
        } else {
           $(thisObj).addClass('input-yellow');
        }
    }, 100);
}

2 个答案:

答案 0 :(得分:0)

在要求你只需要参考它

function required(myOldThis){
   //use myOldThis here
}

答案 1 :(得分:0)

$( 'input.require' ).bind('paste', null, function(e) {
    var myObj = $(this)[0];
    if(!e.keyCode){
        required(myObj);
    }
});