JQuery事件令我煩惱。事情是,我經常使用JavaScript(在ajax請求之後)使用 來繪製新元素 (按鈕,div等)。我有一個元素列表 ,您可以按下編輯按鈕,這樣您就可以操縱鏈接到所選編輯按鈕的 。綁定JQuery事件
現在如果有人提交表單以創建一個新元素,就像之前存在的元素一樣,然後我使用ajax提交它,然後將新元素附加或添加到列表中。之後, 新元素的新編輯按鈕沒有鏈接到JQuery的事件系統,因爲在編輯按鈕生成後DOM沒有重新加載 。如果我將同樣的 javascript文件與其中的事件調用,那麼編輯按鈕將起作用,但當人們點擊其他編輯按鈕時,該事件會發生兩次,因爲它們綁定了兩次,因此它們會發生兩次。我也使用.bind(),但只有 綁定(我認爲)相同的事件兩次。我不記得在 那一刻我如何測試它。我沒有測試.one(),但我寧願 不使用它,因爲一些事件必須被多次調用。
我只是想問問你們在處理 事件時使用了什麼方法?
P.S.我將JQuery事件綁定到所有元素都具有的類屬性。如果我要根據ID將它綁定到每個元素上,那麼這不會成爲問題,因爲那樣我就會使用.bind()。通過編寫這個,我突然使用.unbind()然後使用.bind()將元素鏈接到事件系統。你對那個怎麼想的?你會用另一種方式去做嗎?
在此先感謝。 Kristinn。
非常感謝。 – 2009-09-19 22:06:55
live()不適用於一切。如果你想用live()綁定一個不支持的事件,那麼你運氣不好。我在這種情況下做的是將一個.bind()調用放入我的reload()函數中(我稱之爲編輯後調用)。這工作得很好。 – Vince 2009-09-19 22:15:07
preventDefault()很容易被返回false所取代; 順便說一句:) – 2009-09-19 23:17:50