https://jsfiddle.net/v2cLaoer/var div = document.getElementById('div');
// Наблюдатель за изменениями DOM элемента
var MutationObserver = (function () {
var pref = ['WebKit', 'Moz', 'O', 'Ms', ''];
for (var i=0; i < pref.length; i++) {
if (pref[i] + 'MutationObserver' in window) {
return window[pref[i] + 'MutationObserver'];
}
}
return false;
}());
new MutationObserver( function (mutations) {
mutations.forEach( function (e, i) {
console.log('измененo'); // что сделать при изменении
console.log(e);
});
}).observe(div, { attributes: true });
div.dataset.ololo = true; // изменяем элемент, и смотрим консоль
// UPD
Если нужно именно событие, то создаем CustomEvent, и dispatch-им его внутри наблюдателя.