jQuery.keypad 性能问题
Posted
技术标签:
【中文标题】jQuery.keypad 性能问题【英文标题】:jQuery.keypad Performance Issues 【发布时间】:2010-04-22 16:48:29 【问题描述】:我正在开发 Kiosk 触摸屏应用程序并使用 JQuery.keypad 插件并注意到一些主要的性能问题。如果您快速连续单击多个按钮,CPU 会被锁定,按钮单击跟不上单击,一些按钮按下甚至会丢失。在我的开发机器上,这并不明显,但在带有 1 gig ram 的 Kiosk 本身上,这很痛苦。
在http://keith-wood.name/keypad.html#inline 尝试演示键盘,具有多个目标的键盘(我的就是这种情况)有完全相同的问题。
是否有人对我们如何改进这一点有任何建议? Kiosk 仅在 Firefox 中运行,因此特定于它的某些东西可以工作。我正在使用 jquery.keypad 的 v1.2.1,刚刚升级到 jquery 的 v1.4.2。
【问题讨论】:
【参考方案1】:看起来 Keith Wood 出现在 jQuery 论坛上。
http://forum.jquery.com/topic/jquery-keypad-performance-issues
发生的事情是键盘不断被重新创建的输入焦点。非常简单的解决方案是仅在键盘目标更改时重新创建键盘。
使用这样的代码:
$('.inlineTarget').focus(function()
keypadTarget = this;
$('#inlineTargetKeypad').keypad('change', target: this);
);
应更改为以下内容以解决问题:
var keypadTarget = null;
$('.inlineTarget').focus(function()
if (keypadTarget != this)
keypadTarget = this;
$('#inlineTargetKeypad').keypad('change', target: this);
);
给 Keith 一个答案,积分就归你了。
【讨论】:
以上是关于jQuery.keypad 性能问题的主要内容,如果未能解决你的问题,请参考以下文章