2011-09-07 208 views
2

的处理函数,我相信它可以调用一个函数在事件处理程序,就像这样:呼吁事件

$([selector]).[event](function(){ 
    handlerFunction(); 
}); 

是否有一个更紧凑的方式这样做的呢?像这样:

$([selector]).[event](handlerFunction()); 

在任何情况下,你怎么传递给handlerFunction()在你调用事件处理程序的元素?它隐含地完成了吗?它在调用和函数中都需要参数吗? 我得到一个独特的处理函数,它的行为有所不同,具体取决于调用它的项目,我不知道如何传递该信息,即使这是正确的。

回答

5
$([selector]).[event](handlerFunction); 

触发事件被通过this关键字传递给handlerFunction元素:

function handlerFunction() { 
    $(this).hide(); 
} 

在这个例子中,handlerFunction将隐藏触发该操作的元素。请注意,this是DOM元素,$(this)是jQuery的等价物。

2

您可以通过handlerFunction作为参考,就像这样:

$([selector]).[event](handlerFunction); 

如果使用handlerFunction(),该函数将被调用,并且返回值将被传递给事件处理

2

这样做:

$([selector]).[event](handlerFunction) 

不要把()handlerFunction后,否则你会马上打电话给它,使用它返回值作为要运行的函数,因为它不返回任何内容,所以不起作用。
要访问handlerFunction中的元素,请使用$(this),如$(this).html('triggered!')