是否有一种跨浏览器的方法来检测对输入字段的实时更改?
通过 live,我的意思是不是在字段失去焦点时,也不是在下一次按键时,等等。立即或类似的东西。
结合使用 jQuery 和 .change()
、.keyup()
、.bind('paste')
等等我可以在一些浏览器,但不是所有中进行实时变化检测。使用不同的组合将使其在其他浏览器中有所工作。
最棘手的工作是输入字段的鼠标操作 - 选择文本并移动它(本质上是剪切和粘贴)、右键单击并粘贴或剪切等。对于一些原因甚至 .mousedown()
和 .mouseup()
似乎都没有削减它。
目前我能想到的唯一跨浏览器解决方案是每 100 毫秒左右检查一次输入字段值,并将该值与存储值进行比较。 但当基于事件的解决方案如此接近时,这似乎有点矫枉过正。
是否已经有一个 jQuery 插件可以做到这一点?或者有其他方法可以实现吗?
最佳答案
要完成更改和 key 处理程序,您可以为 cut/copy/paste 添加处理程序.它们适用于 Firefox >=3、IE、Safari 和 Chrome(但不适用于 Opera/Konqueror)。
这会涵盖您用例的所有内容吗?
关于javascript - 跨浏览器 JavaScript 输入实时更改/粘贴检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3079722/