2012-07-03 88 views
0

如果例如我有下一個事件:JS元素事件,刷新元件

document.getElementById('TagSearchInput').onkeyup = function(e) 
{ 
    //Code... 
} 

事件的內部,存在其中我重新創建元件(TagSearchInput)的條件。如何從事件內部刷新事件選擇器?

+0

你是什麼意思'刷新事件選擇器? – xdazz

+0

我想告訴它找到相同的元素,並將其重新附加到它。 – Novak

+0

事件內部的代碼約爲400行。 – Novak

回答

3

OK,忽略了爲什麼你會重現輸入任何疑問...

而不是使用匿名函數嘗試是這樣的:

function TSIKeyupHandler(e) 
{ 
    //Code... 

    // within your condition where you want to re-attach the handler 
    document.getElementById('TagSearchInput').onkeyup = TSIKeyupHandler; 
} 

document.getElementById('TagSearchInput').onkeyup = TSIKeyupHandler; 

(可選把所有的上述如果你想保持TSIKeyupHandler()函數不在全局範圍內),你可以在一個即時調用的匿名函數中使用它。)

+0

是的!這正是我想到的,並且已經嘗試過了,但我忘記了在調用函數中添加'e'參數。 – Novak