我有一个带有输入框的页面,以及一个处理此输入框的值并生成一段文本的函数。我希望这个文本总是与输入框的内容相关,所以我用jQuery附加了几个事件处理程序来捕获任何更改:
$('#input').bind('keyup cut paste', function(){...});
这在大多数情况下效果很好。只要用户以任何方式使用键盘修改内容,或右键单击以使用剪切或粘贴功能,文本就会立即更新。然而,有两个事件我仍然没有弄清楚如何捕获,如果它甚至可能这样做:
这两个当然可以通过绑定change
事件来检测,但是这种方法的问题是它不会在输入框失去焦点之前触发。这些绑定的重点是在输入框的值发生变化时实时更新文本,因此change
不好。
英语是我的第二语言,所以我可能只是在描述我的谷歌搜索时表现不好,但到目前为止他们没有发现任何事情。在挖掘了几个相关的SO页面后,我还没有找到任何解决方案,所以我在这里问。是否有一个我不知道的事件绑定?如果没有,我可以采取不同的方法吗?或者使用普通的Javascript这是不可能的?
答案 0 :(得分:7)
在非IE浏览器中,您可以处理input
事件
在IE中,您可以处理propertychange
事件。
Demo(适用于所有浏览器)
答案 1 :(得分:0)
this SO question (and related jsfiddle)可能会回答您的问题。
(在链接的jsfiddle上,将文本放在顶部框中进行测试)
换句话说,绑定到mouseup
和mousedown
等
答案 2 :(得分:0)
如果找不到涵盖所有案例的事件组合,您可能需要使用setInterval(function() {... }, period)
。您可以使用period
来查看其效果如何。