<分区>
Possible Duplicate:
Is there a jQuery DOM change listener?
How do can watch DOM Object properties?
有没有办法给非输入类型的元素绑定(bind)事件?例如,将事件绑定(bind)到 href 属性更改时触发的 anchor 元素。
<分区>
Possible Duplicate:
Is there a jQuery DOM change listener?
How do can watch DOM Object properties?
有没有办法给非输入类型的元素绑定(bind)事件?例如,将事件绑定(bind)到 href 属性更改时触发的 anchor 元素。
最佳答案
您可以将处理程序绑定(bind)到非输入元素上的各种事件(click
、mousemove
等)。但是当属性更改时(例如链接上的 href
属性的示例),不会引发(一致的跨浏览器)事件。某些属性(如 src
)将导致事件(如 load
)作为次要事件,如 bfavarello指出。
(关于元素的 "mutation" events 现已失效,包括属性更改 [突变],但它从未得到广泛支持。有一个 newer proposal,但它也 [尚未] 得到广泛支持。)
当然,您可以使用轮询:保存旧值,并定期检查(通过 setTimeout
或 setInterval
)以查看它是否已更改。除非您正在检查很多元素并且需要几乎不断地检查它们,否则这不一定是性能问题。
关于非输入元素的 JavaScript 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805753/