1

这个问题的答案建议使用window.setInterval作为唯一可靠的方法来立即检测(无需等待模糊)是否更改了文本框的内容,因为某些文本框更改可能通过按键以外的事件发生。

即使在我的台式电脑上,我也看到 IE 或 Firefox 以 500 毫秒的 setInterval 运行并使用相对简单的处理程序检查一些文本框,从而消耗了相当大的 CPU 百分比。这在台式电脑上是可以的,但在笔记本电脑和手机上会影响电池寿命。

什么是使用 jquery 来最小化 CPU 利用率但仍提供快速更新以响应文本框的更改(包括剪贴板粘贴、ajax 更新等,而不仅仅是按键)的好方法?

4

2 回答 2

4

onBlur是当你离开一个对象而不必改变它的时候。

onChange仅在您离开已更改其值的对象后才调用。

其中之一应该适合您的需求。如果不是,则每个字符更改都会触发各种按键事件。

如果这些没有,那么定期更新单个 javascript 变量可能不会像您所说的那样占用尽可能多的处理能力,除非您的选择器导致一些奇怪的 DOM 行为。

试试这个:通过 id 引用元素,并将该引用存储在 js 变量中。通过此引用更新和更改另一个变量是一个简单的操作。

于 2012-01-23T18:04:16.077 回答
2

开始在该文本框的焦点上运行 window.setInterval(或 setTimeout)检查器,并在模糊时将其杀死。这样,当光标不在文本框中时,您就不会耗尽 CPU 功率。

于 2012-01-23T18:35:30.293 回答