2010-04-22 96 views
1

我正在使用Kiosk Touch Screen應用程序並使用JQuery.keypad插件並注意到一些主要的性能問題。如果您連續快速點擊多個按鈕,則CPU會被鎖住,按鈕的點擊不會跟上點擊,而且按下一些按鈕甚至會丟失。在我的開發機器上,這並不明顯,但在Kiosk本身帶有1個ram的痛苦。jQuery.keypad性能問題

嘗試演示小鍵盤http://keith-wood.name/keypad.html#inline與多個目標(這是我的情況)具有完全相同的問題。

有沒有人有任何建議,我們可以如何改善這一點? Kiosk僅在Firefox中運行,因此特定於此的某些內容會起作用。我正在使用jquery.keypad的v1.2.1,並剛升級到jQuery的v1.4.2。

回答

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}); 
    } 
}); 

留下一個答案Keith和點進去給你。