3

jQuery の.oneイベント ハンドラーを使用して、最初のクリックでセットアップを行い、次/後続のクリックで何か他のことを行うと、これをよりエレガントに記述することができます。

$('#start').one('click', function(){
    alert('one');

    // could also be .on for subsequent clicks
    $(this).one('click', function(){
        alert('two');    
    });

});

フィドルの例

更新:この自己定義関数のように.oneを使用するjQueryパターンがあることを望んでいましたが、.one()のソースを読むと、.on()の単なる拡張です

4

3 に答える 3

0

多分このように:

$('#start').on('click', function(){
    var click = $(this).data('clicked')?$(this).data('clicked'):1;
    alert(click);
    if(click === 2)
        $(this).off('click')
    else $(this).data('clicked',++click);    
});
于 2013-04-11T14:15:38.630 に答える