【发布时间】:2009-09-11 14:17:23
【问题描述】:
我一直在想,如果浏览器在选择框中填充的浏览器会发生任何事件?我希望“onchange”被解雇,但这不会发生。
【问题讨论】:
标签: javascript html css events
我一直在想,如果浏览器在选择框中填充的浏览器会发生任何事件?我希望“onchange”被解雇,但这不会发生。
【问题讨论】:
标签: javascript html css events
正如已经指出的那样,onchange 事件负责用户进行的更改。但是,当您以编程方式更改 DOM 时,DOM Mutation event 会被某些浏览器触发,但该标准并未得到很好的支持。
【讨论】:
Mutation events 可能就是您要找的。它们具有 DOMSubtreeModified、DOMNodeInserted 等选项。显然 github 上有一个 jQuery 项目,包括对 Mutation-events 的支持。查看http://github.com/jollytoad/jquery.mutation-events/tree/master
【讨论】:
我不知道。在大多数情况下,被调度的唯一事件是那些由用户发起的事件。
<select> 接收新选项在技术上是由浏览器启动的(即使它可能是由于用户操作而发生的)。
虽然我同意,如果您可以监听任意 DOM 属性上的更改并绑定处理程序以对这些更改做出反应,这将是特别有用和酷的。
但是,您可以查看 javascript 中的 signals and slots 实现,这可能会对您有所帮助。
【讨论】: