2014-04-19 51 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 –

相关问题