2014-04-19 45 views
0

我試着檢查一個HTML DOM事件的文檔,看看是否有一個HTML DOM事件只會在沒有發生特定事件的任何其他事件發生時纔會發生,但我什麼也沒找到。執行一個只有發生任何其他事件時纔會發生的事件的JavaScript

是否有HTML DOM事件只會在發生其他事件時纔會發生?

如果否,是否有可能創建一個僅在發生任何事件時才執行的JavaScript?
(我的意思是,沒有具體的事件,它將永遠如果任何事件發生時執行。)

如果有可能,請你告訴我一個想法,如何建立呢?

+0

你的意思是說任何事件,或者只有那些處理程序被綁定到某處的事件?如果你想在沒有處理程序的情況下包含事件,當鼠標在頁面上移動時,它會不斷地啓動你的全向處理程序。如果你這樣做,我不知道你會如何理解任何事情。 –

+2

...你最終想要完成什麼?這與AJAX有什麼關係? –

+0

@cookiemonster好吧,我有一個JS,如果頁面處於就緒狀態,它將更改所有標記的* .innerHTML *。並且我還想用我的具體內容更改任何新標記的內部類,這是由另一個JS創建的,我不控制.. – 5ervant

回答

0

不,沒有事件會在發生任何事件時觸發:除了崩潰瀏覽器之外,它可能沒有用處。如果你試圖查看用戶是否遠離他的鍵盤,那麼還有很多其他方法,比如問他,看他是否在一定的時間範圍內響應。如果你不想讓他注意到你正在做一個afk測試,那麼在body元素上使用mousemove事件監聽器

2

如果我正確理解你,你想對DOM中的變化作出反應,那是不是由你的腳本。

如果您不想嘗試支持舊瀏覽器,則應該查看MutationObserver-API。以這裏的例子爲出發點,你可以嘗試這樣的事情:

// select the target node 
var target = document.querySelector('body'); 

function mutationCallback(mutation) { 
    /* 
    Your logic here 
    */ 
} 

// create an observer instance 
var observer = new MutationObserver(function(mutations) { 
    mutations.forEach(mutationCallback);  
}); 

// configuration of the observer: 
var config = { attributes: true, childList: true }; 

// pass in the target node, as well as the observer options 
observer.observe(target, config); 

我希望這有助於。

+0

我在DOM中發現了一篇很好的關於DOM的文章,也討論了Mutation-Events:http://www.howtocreate.co.uk/tutorials/javascript/domevents –

相關問題