我认为更改事件通常会从输入元素传播到表单元素?
在 Chrome 上,它可以工作:http: //jsfiddle.net/gjatW/13/
但在 IE 8 上,不会console.log
调用: http: //fiddle.jshell.net/gjatW/13/show/
(请注意,我们必须输入一些内容并将焦点移出输入框change
才能触发事件,而不是单独击键)
(我们必须使用 jshell.net 来查看结果帧,因为 IE 8 不能正确呈现 jsfiddle.net)。
更多详细信息:
如果我们将它绑定到input
元素上,那么我们会console.log
在 Chrome 和 IE 8 上看到:
http://jsfiddle.net/gjatW/12/
http://fiddle.jshell.net/gjatW/12/show/
如果使用 jQuery,那么即使我们绑定在表单元素上,它也适用于 Chrome 和 IE 8。但问题是,我认为 IE 8 支持冒泡,那么如果我们使用 DOM 0 级onchange
处理程序,为什么更改事件不会冒泡到表单元素?
http://jsfiddle.net/gjatW/10/
http://fiddle.jshell.net/gjatW/10/show/