2011-09-07 163 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!')