1

クリックされている間に何らかのアクションを実行するボタンがあります。例えば

$(function() {

    $('button1').click(function(e){
        /** This is just a pseudocode

        if( me.triggering ) {
            doTrigger();
        }else{
            doClick();
        }

        **/
    })

    $('button2').click(function(e){
        $('button1').trigger('click')
    })

});

ユーザークリックの呼び出しによってイベントが実行されているのか、それともtriggerユーザークリックから実行されているのかをどのように判断できますか?

4

1 に答える 1

5

を確認してくださいe.originalEvent。実際のクリックの場合に設定する必要があります。

$('button1').click(function(e) {
    if (e.originalEvent) {
        doClick();
    }
    else {
        doTrigger();
    }
});

http://jsfiddle.net/nCzaC/

イベントをトリガーするときに追加のフラグパラメーターを渡して、トリガーを区別することもできます。

$('#button1').trigger('click', [true]);

$('#button1').click(function (e, trigger) {
    if (!trigger) {
        alert('do click');
    } else {
        alert('do trigger');
    }
})
于 2013-03-06T06:50:18.853 に答える