は、私はIDが「BTN」であり、私のように、ボタンにイベントを追加ボタンを持っていると言います。
初めてボタンをクリックすると、現在の秒がラベル1に表示されます。このボタンをクリックすると、何も起こりません。しかし、ボタンがクリックされるたびに、ラベル1に新しい現在の秒が表示されます。どうしましたか?
は、私はIDが「BTN」であり、私のように、ボタンにイベントを追加ボタンを持っていると言います。
初めてボタンをクリックすると、現在の秒がラベル1に表示されます。このボタンをクリックすると、何も起こりません。しかし、ボタンがクリックされるたびに、ラベル1に新しい現在の秒が表示されます。どうしましたか?
使用one()
イベントに$("#btn").click(function() {});
がイベントのバインドを解除しないこと
$("#btn").one('click', function(){
$("#label1").html((new Date()).getSeconds());
});
注意をバインドします。その要素にもう一度click
イベントをバインドします。次回はボタンをクリックすると、2つのイベントハンドラが呼び出されて、html
と何もしない空の関数が更新されます。
イベントのバインドを解除するには、off()
を用いることができるが、この場合にone()
が好ましいです。
$("#btn").on('click', function() {
$("#label1").html((new Date()).getSeconds());
$(this).off('click');
});
.one()
をそのまま使用できます。
要素のイベントにハンドラをアタッチします。ハンドラは、各イベントタイプごとに最大で1回実行されます。アット存在
$(document).ready(function() {
$("#btn").one('click', function(){
$("#label1").html((new Date()).getSeconds());
});
})
あなたがクリックリスナーに、以下の方法で削除することができこんにちは$("#btn").click(function() {});
を使用して別のクリックハンドラをバインドしています。
$(document).ready(function() {
$("#btn").click(function(){
$("#label1").html((new Date()).getSeconds());
$('#btn').off('click');
});
})
「HTML」を表示できますか? – Script47
前のイベントの登録を解除する必要があります。2つのイベントハンドラを登録して、クリックするたびに発生するようにしてください。 – Dellirium
@ Script47編集済み。ちょうどあなたが実際のコードに当てはまるかどうかわかりません。タイプミス。 –