1
我用HTML/jQuery的頁面是工作別人寫了,而以前的任何元素執行。爲了調試,我需要找到頁面加載時觸發任何元素的所有.blur()
事件。找到所有模糊()事件在頁面加載
我可以使用下面的一個事件綁定的所有元素:
$("*").each(function() {
$(this).blur(function() {
alert(this);
});
});
然而,這是不行的(即使我可以在網頁加載之前運行的話),因爲網頁上的腳本,重新綁定.blur()
無論如何。
有沒有一種方法,我可以看到什麼.blur()事件在頁面加載執行?我想我可能能夠在運行時覆蓋內部jQuery函數,而不會被blur事件綁定覆蓋,但不知道是否可能。
我仍然不完全確定你在問什麼。你是否想將自己的'blur'事件附加到所有元素(這對調試有什麼幫助?)?你想要一個所有具有「blur」事件處理程序的元素的列表嗎?或者你想知道哪些元素在加載頁面後觸發了'blur'事件處理程序? –
@Anthony第三個選項正是我需要做的:) – Flash
在這種情況下,@ RobW的答案**可以**做你所需要的。在一個元素上多次調用'.blur()'(或'.click()'等)不會覆蓋之前添加的處理程序。但是,如果現有的jQuery代碼(無論出於何種原因)執行'$('selector')。unbind('blur')。blur(function(e){...});'您可能遇到問題附加您的通用處理程序的正確位置。 –