如何找出對象的onclick事件正在調用哪個javascript函數?更好的是,我可以找出哪些包含該函數所在的.js文件嗎?如何找出對象的onclick事件正在調用哪個javascript函數?
回答
你可以這樣做
用JavaScript Demo on JsFiddle
div1 = document.getElementById('div1');
alert(div1.getAttribute("onclick"));
使用jQuery Demo on JsFiddle
<div id="div1" onclick="myfun();" >
alert($('#div1').attr('onclick'));
我做到這一點使用此Visual Event腳本整齊地突出了事件是由哪些功能認購在哪些元素上。
要找到代碼的源代碼,只需使用FireBug或類似的瀏覽器開發工具來搜索函數名稱即可。
你將無法找到文件的onclick事件被調用,但myObject.onclick
會給你被調用的功能。不,你不需要這個jQuery。
至於名稱的功能,這有點複雜。你可以嘗試這樣的事情,也許是:
var myFunc = myObject.onclick, myFuncName = "";
for(prop in window) {
if(window.hasOwnProperty(prop) && window[prop] === myFunc) {
myFuncName = prop; // myFuncName is now the name of the function. This only works if you didn't assign an anonymous function to the click handler.
break;
}
}
但說實話,我認爲這是一個有點矯枉過正。
這取決於如何連接event
。
如果你沒有像jQuery的結合onclick
你可以這樣做:
var obj = document.getElementById('elementId');
console.log(obj.onclick);
我使用Chrome的開發者工具這樣的:
檢查click
框,然後點擊您想要查找處理程序的頁面上的元素。如果你使用的是jQuery(或類似的庫),你可能必須先找到你的代碼。
我從來不知道這存在於鉻中。這真棒,爲我解答了這個問題。 – circlecube
感謝您告知我們關於此工具的信息,但是如果要指出jQuery庫中的代碼行,此方法非常有用。如何知道我的代碼的哪個部分正在運行。 –
@whitelettersandblankspaces我現在知道的唯一方法就是遍歷jQuery的代碼,直到找到你的代碼。 – benekastah
- 1. JavaScript:如何找出在事件上調用哪些函數?
- 2. JavaScript的onclick事件調用對象
- 3. 如何在onclick事件中調用多個JavaScript函數?
- 4. 如何找到哪個對象id在javascript中導致事件
- 5. Javascript:通過一個onclick事件調用對象的ID
- 6. JavaScript的onClick事件函數
- 7. 來自onClick的調用對象函數事件
- 8. JavaScript的onclick事件在閃存對象
- 9. javascript onclick事件中的兩個函數?
- 10. 如何找出正在使用哪個(版本的)函數?
- 11. 如何找出哪個函數被綁定到jquery事件時被調用?
- 12. 找出哪個類正在調用函數 - iOS,目標C
- 13. 在javascript中調用所有onclick事件中的函數
- 14. Javascript函數沒有在按鈕的onclick事件中被調用
- 15. 如何在Flash對象上使用onClick javascript事件
- 16. Javascript:如何從事件回調函數訪問對象成員
- 17. 如何找出哪個文件包含javascript函數
- 18. 將數據推送到JavaScript函數使用onClick事件調用
- 19. 如何在JavaScript中調用另一個對象的函數?
- 20. 無法使用按鈕的onclick事件調用javascript函數
- 21. 用於調用javascript函數語法的OnClick事件
- 22. 如何在onchange事件中調用javascript中的兩個函數
- 23. 通過onClick傳遞給JavaScript函數的數組正在創建[對象,對象]
- 24. Javascript,通過對象構造函數從另一個onclick調用函數
- 25. 找出哪個頁面正在調用一段JavaScript,在PHP中
- 26. onclick事件不會調用函數嗎?
- 27. 從onclick事件調用jQuery函數
- 28. onClick HTML事件後調用PHP函數
- 29. 找出點擊哪個javascript函數...
- 30. 如何在onclick事件上調用asp函數?
要清楚,你有一個DOM對象,你想知道它做了什麼onclick?你嘗試過'someObject.onclick'或'someObject.getAttribute(「onclick」)'?你不知道它來自哪個文件,因爲JS代碼不知道它來自哪個文件。 – apsillers
可能重複[如何檢查是否有任何JavaScript事件監聽器/處理程序附加到元素/文檔?](http://stackoverflow.com/questions/2382994/how-to-check-if-any-javascript-event- listeners-handlers-attached-to-an-element-d) –
@Diodeus:這個問題是不同的 - 它是關於使用jQuery獲取綁定事件,而OP正在尋找一個瀏覽器devtool。 –