簡體   English   中英

jQuery如何為匿名函數中的get參數定義click函數?

[英]How jquery define click function for get parameter inside anonymous function?

我不太了解javascript語法,我的問題是:

jQuery如何為匿名函數中的get參數定義click函數?

案子:

$("a").click(function(event) { 
    alert(event.type); 
});

在C中,應定義函數:

void click(fn,event){
}

在javascript中,對我來說,她將其定義為-(但在哪里定義了事件?):

click (fn){

}

在這里給我解釋點擊功能代碼源的jQuery語法。

謝謝,約瑟夫

如果您只想查找event對象在哪里傳遞給您的處理程序,那將是jQuery-1.5.2可再分發源代碼的 2568 (或實際的,不受污染的源文件的438行 ):

var ret = handleObj.handler.apply( this, args );

在上面的代碼行中, handler是您的匿名函數,而args是一個數組,其第一個元素是事件對象。 jQuery使用JavaScript Function對象的apply方法調用處理程序並傳遞參數

當涉及到添加和處理事件的全部序列時,jQuery源代碼非常復雜,因此,除非您要逐行解釋數百行代碼,否則建議將問題改寫為較小的范圍(例如,可以創建您想了解的場景的玩具演示)。

也許這會有所幫助?

dosomething(function(message) {
    alert(message);    
});

function dosomething(fn) {
    fn("Hello!");
}

jQuery的第一部分是選擇器$("a") ,它選擇並返回從DOM中選擇的對象。 在這種情況下,它將返回頁面上所有錨標記對象的列表。

然后,您將.click()方法鏈接到該方法,jQuery將事件偵聽器附加到所有錨標記。 附加事件偵聽器后,它或多或少相當於

<a href='..' onclick='someFunction(event)'>some link</a>

...將事件對象傳遞給函數。

例如,與此進行比較:

<a onclick='blah(event)'>click</a>
<script type='text/javascript'>
function blah(e) {
  alert (e.type);
}
</script>

如果單擊它,我將在警報中看到“單擊”。 原則上,jQuery在做同樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM