This question's answers建议使用window.setInterval
作为唯一可靠的方法来立即检测(不等待模糊)文本框的内容是否发生更改,因为某些文本框更改可能通过按键以外的事件发生。
即使在我的台式电脑上,我也看到IE或者用一个500毫秒的setInterval运行一个非常微不足道的CPU,并且运行一个相对简单的处理程序来检查几个文本框。这在桌面PC上是可以的,但在笔记本电脑和手机上它会损害电池寿命。
使用jquery最小化CPU利用率但是仍然提供快速更新以响应更改(包括剪贴板粘贴,ajax更新等,而不仅仅是按键)到文本框的方法是什么?
答案 0 :(得分:4)
onBlur
是指您离开某个对象而不必更改它。
onChange
仅在您离开已更改值的对象后才会调用。
其中一个应该符合您的需求。如果没有,各种按键事件将触发每个字符的更改。
如果这些没有,那么定期更新单个javascript变量可能不会像你说的那样处理能力,除非你的选择器导致一些奇怪的DOM行为。
试试这个:按id引用元素,并将该引用存储在js变量中。通过此引用更新和更改另一个变量是一项简单的操作。
答案 1 :(得分:2)
开始在该文本框的焦点上运行window.setInterval(或setTimeout)检查器,并在模糊时将其终止。这样,当光标不在文本框中时,您将不会消耗CPU功率。