将事件处理程序绑定到“输入”和“属性更改”事件上的元素以支持 IE8 和其他浏览器是否合理?
$('.element').on('input propertychange', function(){...});
或者这样做有什么陷阱吗?
编辑
有没有可以用来支持旧版 IE 的 jQuery 插件?
将事件处理程序绑定到“输入”和“属性更改”事件上的元素以支持 IE8 和其他浏览器是否合理?
$('.element').on('input propertychange', function(){...});
或者这样做有什么陷阱吗?
有没有可以用来支持旧版 IE 的 jQuery 插件?
这不完全一样。它会在 JavaScript 发生更改时触发,而不仅仅是用户更改。
这意味着一个主要的缺陷是,如果提供的处理程序将 JavaScript 更改为相同的input
,或者如果存在任何类型的循环引用,则可能会无限递归,其中inputA
更改inputB
,更改inputA
。
我今天早些时候实际上正在研究这个,希望能在event
对象中找到任何小的差异,让我能够区分用户发起的更改和 JavaScript 更改,但我找不到。
有关可能的 jQuery 插件,请参阅此博客文章。