1

我正在开发 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。

4

1 回答 1

0

看起来 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});
    }
});

留下答案基思,积分归你所有。

于 2010-04-23T13:10:02.180 回答