http://pastebin.com/1MGTtzij私の完全なHTMLドキュメントであり、以下の短いバージョンです: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);
});
});
});
:
<div id="myDiv"></div>
<input type="button" id="myButton2" value="Click me!" />
ページが停止して完全に表示されたら、2ボタンが表示されます私を最初にクリックしてください!と私をクリック!、私の後にやります:
- click 私を最初にクリックしてください! - 何も起こらない - OK
- click 私をクリックしてください! - アラート1 - OK
- click 私を最初にクリックしてください! - 何も起こらない - OK
- click 私をクリックしてください! - アラート1 - アラート1 ????????????
私はクリックすればそれを認識しました私を最初にクリックしてください! N回、(N + 1)アラートを取得します。どのように私はそれを修正できますか?
ありがとうございます!
脇に: '.live()'はjQuery 1.7以降では非推奨です。 jQueryのバージョンが1.7以上であれば、 '.on()'を使うべきです。そうでなくても、 '.delegate()'は長い間、大いに軽蔑されました(しかし重く使用された!!!) '.live()'の優れた代替手段とみなされてきました。 –