使用仅在发生任何其他事件时发生的事件执行JavaScript

时间:2014-04-19 19:14:00

标签: javascript jquery ajax javascript-events

我尝试检查HTML DOM事件'记录是否有HTML DOM事件只会在没有特定事件的任何其他事件发生时发生,但我什么都没发现..

是否存在仅在发生任何其他事件时才会发生的HTML DOM事件?

如果不是,是否可以创建只在发生任何事件时执行的JavaScript? (我的意思是,没有特定事件,如果发生任何事件,它将始终执行。)

如果有可能,请您告诉我如何创建它?

2 个答案:

答案 0 :(得分: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);

我希望这会有所帮助。

答案 1 :(得分:0)

不,没有任何事件发生时触发的事件:除了崩溃浏览器之外,它可能没有用处。如果您正在尝试查看用户是否远离键盘,那么还有很多其他方法,就像问他一样,看看他是否在一定的时间范围内做出响应。如果您不希望他注意到您正在进行afk测试,那么请在body元素上使用mousemove事件监听器