http://pastebin.com/1MGTtzij這裏是我的全部HTML文檔,下面是短版:JQuery的點擊()事件觸發兩次時稱爲活()
$(document).ready(function() {
$("#myDiv").append($("<input />", {
type : "button",
id : "myButton1",
value : "Click me first!"
}));
$("#myButton1").live("click", function() {
var a = 1;
$("#myButton2").click(function() {
alert(a);
});
});
});
的HTML代碼:
<div id="myDiv"></div>
<input type="button" id="myButton2" value="Click me!" />
頁面停止加載並完全顯示後,您將看到2個按鈕請先點擊我!和Click me!,在我之後:
- 點擊請點擊我! - 什麼都沒有發生 - 好吧
- 點擊點擊我! - 警報1 - 確定
- 點擊請點擊我! - 什麼都沒有發生 - 好吧
- 點擊點擊我! - 警報1 - 警報1 ?????????????
所以我認識到,如果我點擊請先點擊我! N次,我會得到(N + 1)警報。我該如何解決這個問題?
謝謝大家!
另外:'.live()'在jQuery 1.7+中被棄用。如果你的jQuery版本是1.7或更高,你應該切換到使用'.on()'。即使不是這樣,'.delegate()'長期以來一直被認爲是一種被人們鄙視的(但很多使用頻繁的!!!)'.live()'的優越選擇。 –