2012-11-17 72 views
1

我試圖通過模擬用戶點擊一個元素:Jquery的.click()如何工作?

 el = document.getElementById('#inputToClick'); 
     oEvent = document.createEvent("MouseEvents"); 
     oEvent.initMouseEvent("click", true, false, window, 1, 1, 1, 1, 1, false, false, false, false, 0, null); 
     el.dispatchEvent(oEvent); 

這適用於其他網站,jQuery的$ el.click()沒有,但我發現一個網站,jQuery的點擊作品但上面沒有。我希望有人能指點我jQuery源代碼的相關部分。

+2

你爲什麼不直接調用onclick函數呢?創建一個測試框架? –

+3

你的問題在jquery源代碼中的字面解答 –

+0

是的,如果你想知道它的工作原理,請檢查源代碼。 –

回答

2

如果你真的想找的jQuery 1.7.2的點擊功能的來源:

function (data, fn) { 
    if (fn == null) { 
     fn = data; 
     data = null; 
    } 

    return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name); 
} 

來源: Jquery.Click Function

如果你只是想知道如何去點擊的東西...

$('#inputToClick').click(); 
+1

感謝您的代碼,該網站是偉大的。 – AJP

+1

@AJP,遇到它,只是把它加入書籤。很高興你喜歡它 – Mathlight

+1

這很好,但你永遠不應該依賴源細節。它可以在不同的版本中更改。而只依賴於API文檔中指定的內容。因此,應該很少需要查看jQuery源代碼,我認爲該網站正在過度推銷這樣的行爲。這就是說,這似乎是其中的一次...... –