JavaScript / jQuery:监视对元素的更改?

时间:2010-09-20 02:12:04

标签: javascript jquery html

除了创建新事件之外,还有什么方法可以告诉我什么时候将特定的CSS类添加到元素中?

3 个答案:

答案 0 :(得分:4)

如果您无法访问添加该类的代码,那么有一个名为livequery的jQuery插件,允许您在将元素添加到DOM时(或者当您执行添加操作时)运行代码一个元素的类)。

http://brandonaaron.net/code/livequery/docs

$('div.myClass').livequery(function() {
     alert('myClass was added');
});

$('#someDiv').addClass("myClass");  // The livequery code will run

这特别适用于jQuery方法。

答案 1 :(得分:0)

您可以扩展jQuery的addClass()以在添加类时触发事件。但是,这意味着您必须始终使用此方法添加类。

如果您不这样做,则必须轮询并查找class属性中的差异。我不建议这样做。除了性能之外,您还需要处理被删除的类。

答案 2 :(得分:0)

有一个DOM Level 3规范来检测元素属性的变化,它在几个浏览器中得到支持...... IE也支持onpropertychange(http://msdn.microsoft.com/en-us/library/ms536956(VS.85).aspx)事件。

但这可能还不够。您最好的选择是使用window.setInterval()并检查值是否已更改。