1

keypress別のイベント (クリック イベント) 内でイベントを使用しています。これは、親イベント内で計算される複数の変数が必要であり、イベントの後にのみ発生する必要があるclickためです。

クリック イベントが複数回トリガーされた場合、指定したキーを 1 回押すとkeypress、クリック イベントと同じ回数イベントがトリガーされます。

リビングデモ

複数回トリガーしないようにするにはどうすればよいですか? クリック数を反映しkeypressて、最後のイベントに対応する呼び出しで、イベントを 1 回だけトリガーする必要があります。click

とにかくコードは次のとおりです。

$('#demo').click(function(){
    var demo = "hello";

    $(document).keypress(function(e) {

        //enter key
        if(e.which == 13) {
            alert("Firing multiple times..." + demo);
        }
    });
});
4

2 に答える 2

2

これを試して:

var cont  = 0;

$('#demo').click(function(){

var demo = "hello";
cont++;

$('#counter').find('span').html(cont);

$(document).unbind().keypress(function(e) {
            ^^^^^^^^|________________________ new update.
    //enter key
    if(e.which == 13) {
        alert("Firing multiple times...");
    }
});


});
于 2013-05-16T10:56:16.120 に答える