2010-10-15 132 views
0

因此,我創建了我的搜索自動完成結果(自定義自動完成)的幾個功能,雖然結果是靜態的,懸停和點擊事件工作正常...jQuery搜索結果...懸停和點擊不再工作?

但現在結果是動態生成的,我的divs不再響應他們的懸停和點擊事件。

jQuery沒有再看到div,因爲它們是動態的嗎?我應該在結果返回時創建這些事件嗎?它不是那麼困難...

+0

+1抵消downvote。爲什麼給出? – 2010-10-15 13:47:28

回答

2

如果您向我們展示一些代碼,我們可以更直接有用,但是我可以告訴你最有可能您描述的問題的原因來自您的內容被替換動態,這導致懸停和點擊事件丟失(閱讀:不重新應用)。幸運的是,您只需在jQuery中調用$.live()方法即可確保每當您的匹配元素被替換時,它們都會自動重新綁定。

的$ .live()函數具有完全相同的語法爲$ .bind():

$('.linkButton').live('click', function() { 
    // click handler goes here 
}); 
+0

我可以回想起當時我在詛咒事件綁定帶來的範圍喪失的時刻。但$ .live真的節省了一天的時間! :) – 2010-10-15 13:31:34

+0

這真是太棒了...所以在任何情況下,當一個事件可能是動態的,我把它包裝在一個「實時」功能中? – dcolumbus 2010-10-15 15:49:13

+0

夥計們,我測試了它,它的功能非常出色! 「綁定」和「現場」之間的主要區別是什麼? – dcolumbus 2010-10-15 16:00:52