2016-03-15 49 views
1

我的问题是我想跟踪使用自定义事件的元素的属性更改,我一直在阅读mozilla开发人员,但我仍然不明白。使用自定义事件跟踪属性更改

那么,自定义事件是如何工作的?以及如何使用它来跟踪属性更改/变量(类的变化)。

+0

澄清,你在读什么? [突变观察者](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver)? – colonelsanders

+0

我正在阅读[创建和触发事件](https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events)@colonelsanders –

+0

那么我该如何碰撞?没有人知道如何去做? –

回答

0

Standard event listeners回应很多事情,但元素属性更改不是其中之一。 A MutationObserver真的是自己构建这样的东西的唯一方法,缺少资源匮乏的人工听众setInterval

var target = document.querySelector('button'); 

var observer = new MutationObserver(function(mutations) { 
    mutations.forEach(function(mutation) { 
    console.log(mutation.attributeName + ' atrribute was changed.'); 
    });  
}); 

observer.observe(target, { 
    attributes: true 
}); 

这里是一个JSFiddle,其中一个按钮,点击更改元素的颜色,这是由MutationObserver回升。