javascriptを使用してオンザフライでhtmlを生成しようとしています。私は自分のページのボタンのクリックを拘束しています。ページに複数のボタンがあり、要素が複数回バインドされ、ボタンがクリックされた回数に応じて目的の結果が表示されます。
私の質問は、要素がすでにjqueryにバインドされているかどうかを確認できるものはありますか? もしそうなら、どうすればそれを jquery の .live() 関数に組み込むことができますか。
これが私のコードです:
$(document).ready(
function () {
$(':button').live("click", ".textbox, :button", function () {
alert("binding");
$(".textbox").click(function () {
defaultVal = this.defaultValue;
if (this.defaultValue) {
this.value = "";
}
});
$(".textbox").blur(function () {
if (this.value == "") {
this.value = defaultVal;
}
});
$('[name="numsets"]').blur(function () {
if (!parseInt(this.value)) {
$(this).val("you need to enter a number");
}
});
$('[name="weightrepbutton"]').click(function () {
var $numsets = $(this).parent().children('[name="numsets"]');
if ($numsets.val() != "you need to enter a number" && $numsets.val() != "Number of Sets") {
var numbersets = parseInt($numsets.val())
repandweight.call(this, numbersets)
$(this).hide();
$numsets.hide();
}
})
});
});
問題は 4 行目です。ボタンがクリックされるたびに、以前にバインドされていたすべての関数が同じ関数に 2 回バインドされているように見えます。これが問題です。
助けてくれてありがとう!