2011-06-28 176 views
30

我想我想通了...看到我的評論。抱歉。手動觸發jquery keyup?

我有一個JSON Web服務,在某個keyup()事件上調用,它根據輸入檢索一些數據。我想在輸入任何內容之前加載一組初始數據。我試圖手動調用文檔中提到的keyup(),但它似乎沒有做任何事情。

$('#inputItemName').keyup(function() { 
//perform query, display results 
}); 

,當你在框中

$('#inputItemName').keyup(); 

^^文件準備好功能後立即調用輸入^^的偉大工程,似乎並沒有做任何事情。

+1

我想我想通了......我調用了腳本標記中比keyup()調用更高的函數,現在它可以工作。那有意義嗎? –

+1

是的:你必須在**觸發前將一個函數附加到觸發器**上! (否則事件被觸發,但沒有函數被調用) – oliverpool

回答

44

適合我的作品:http://jsfiddle.net/radu/gD5WL/

$('#test').keyup(function() { 
    console.log('hello'); 
}); 

$('#test').keyup(); 

keyup事件在頁面加載時被調用。

+1

所以訣竅是秩序。由於我的回答不太流行,我將接受的答案改爲你的答案。 –

0

您遺漏了該ID的哈希標記在第二個:

$('#inputItemName').keyup();

+0

對不起,剛剛更新...我確實在那裏現在它仍然無法正常工作。 –

+0

創建一個jsFiddle,我們來看看。 – glortho

2

你缺少選擇器# ... 嘗試用哈希...

$('#inputItemName').keyup();

28
$('#inputItemName').trigger('keyup'); 
+0

謝謝,它是簡單和最好的方式 – PyDroid

-2

試試這個:

$('#inputItemName').bind('keyup',function() { 
    //stuff 
}); 
0

嘗試觸發功能。

$('#inputItemName').trigger('keyup');

​​

0

我想我想通了......我感動的是要求更高了中比KEYUP()調用的腳本標記的結果和現在的作品的功能。那有意義嗎?