【发布时间】:2012-09-28 12:14:59
【问题描述】:
我想为输入字段中的每个实际更改触发一个事件处理程序一次。例如,要验证(每次按键)输入的信用卡号(更改必须在每个更改上进行,因此去抖动/节流不是答案)。
我不能单独使用input,因为 IE9 不会从退格或剪切/删除触发此事件。
我不能单独使用keyup,因为它不能处理来自鼠标的更改(例如粘贴)。
我不能使用change,因为它只会在blur 上触发。
我可以使用$('input').bind('input keyup', handler),但这在大多数情况下会触发两个单独的事件。假设处理程序很昂贵并且运行两次是不可接受的。
我可以包装处理程序,使其仅在当前值与上次检查的值不同时运行,但有更好的方法吗?
【问题讨论】:
标签: javascript jquery html dom-events