我在IE 9中,我打电话给:
document.attachEvent('onpropertychange', function(){
console.log("triggered");
});
在控制台中返回true
。
然后我改变了一个属性:
$('div').eq(0).attr("data-url", "url");
更改属性但不向控制台输出triggered
。我做错了什么?
答案 0 :(得分:2)
According to MSDN,此事件不会冒泡,因此将处理程序放在document
上不会在div
元素上观察到属性更改。
另外,我不确定对element.dataset
的子属性的更改会触发操作。我认为值得测试。
答案 1 :(得分:0)
也许你应该尝试将这个事件附加到你的所有div上:
var divs = $('div');
$.each(divs, function(divObj){
divObj.attachEvent('onpropertychange', function(){
console.log("triggered");
});
});