我有一个带有输入框的页面,以及一个处理该输入框的值并生成一段文本的函数。我希望该文本始终与输入框的内容相关,因此我使用 jQuery 附加了几个事件处理程序以捕获任何更改:
$('#input').bind('keyup cut paste', function(){...});
这在大多数情况下效果很好。每当用户使用键盘以任何方式修改内容,或者右键单击使用剪切或粘贴功能时,文本都会立即更新。但是,有两个事件我仍然不知道如何捕获(如果可能的话):
- 当用户选择一段文本并将其拖动到输入框中的不同位置时
- 当用户使用右键单击上下文菜单中的“删除”操作时
当然,这两种情况都可以通过结合change
事件,但这种方法的问题是,它不会触发,直到输入框失去焦点。这些绑定的全部目的是让文本随着输入框的值的变化而实时更新,所以change
不行。
英语是我的第二语言,所以我的谷歌搜索措辞可能很糟糕,但到目前为止他们什么也没找到。在挖掘了几个相关的 Stack Overflow 页面后,我也没有找到任何解决方案,所以我在这里询问。是否有我不知道的事件绑定?如果没有,我可以采取不同的方法吗?或者这对于纯 JavaScript 来说根本不可能实现?
在非 IE 浏览器中,您可以处理input
event.
在 IE 中,您可以处理propertychange
event.
Demo(适用于所有浏览器)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)