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 性能问题的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Keypad / Primefaces 键盘重新映射空格键

性能测试知多少——常见性能问题

怎样查出SQLServer的性能瓶颈

怎样查出SQLServer的性能瓶颈

PHP性能优化

性能测试理论1 | 性能测试难点问题梳理