2012-07-09 84 views
0

我有一個aspx頁面,大約200個文本框與onkeyup事件,一些用戶抱怨是非常緩慢的。onkeyup事件緩慢

所有這些onkeyup事件會導致這種緩慢?

+0

取決於你如何設置這個事件和你做的onkeyup。 – Aristos 2012-07-09 13:06:23

+0

你是否將獨立的活動綁定到每個領域?查看活動委派並只使用一個事件。 jQuery通過'on()'方法使這變得簡單。 – Utkanos 2012-07-09 13:08:04

+0

也許,但試驗JS小提琴似乎並沒有太大的緩慢。也許你的實現正在做別的事情?你必須發佈更多的代碼來向我們展示你到底在做什麼。 – NibblyPig 2012-07-09 13:09:59

回答

1

可能。我猜你每個textarea有1個keyup事件處理程序/偵聽器。而是使用事件委託;將註冊監聽器註冊到文檔上,並使用event.targetevent.srcElement確定觸發元素。

document.onkeyup = function(e){ 
    e = e || window.event; 
    var textarea = e.target || e.srcElement; // reference to the textarea 
} 
+0

+1。使用jQuery更容易。也就是說,我不會想到200個事件會導致這麼多的放緩 - 這可能也與他在回調中實際做了什麼有關。 – Utkanos 2012-07-09 13:09:30