0

私は例えば持っています:

$('#field').click(function(){
   alert('One');
   alert('Two');
})

トリガーを使用したい:

$('#field').trigger('click');

このための機能を追加することは可能ですか?

トリガーを使用する場合、 alert('One');のみを実行したいと思います。

多分...

$('#field').click(function(){
   alert('One');
   if(this != trigger){
      alert('Two');
   }
})
4

4 に答える 4

3

.trigger実際にイベントにパラメータを送信できます(配列である必要があります)。

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

次に、次のようにイベントを変更します。

$('#field').click(function(e, trigger){
   alert('One');
   if(!trigger){
      alert('Two');
   }
})

デモ:http://jsfiddle.net/NTICompass/Rkr9S/

于 2012-08-20T20:08:29.673 に答える
1

正しく理解できているかどうかはわかりませんが、2番目の引数を使用して変数をトリガーに渡すことができます。

$('#field').click(function(e, obj) {
    alert('One');
    if ( obj.two ) {
        alert('Two');
    }
});    

$('#field').trigger('click', {
   two: false
});

http://jsfiddle.net/t5nZz/

于 2012-08-20T20:08:38.893 に答える
1

トリガーされたイベントの場合、対応するイベントオブジェクトにはプロパティがありますisTrigger: true。したがって、次のようなことができます。

$('#field').click(function(e) {
   alert('One');
   if (!e.isTrigger) {
      alert('Two');
   }
});
于 2012-08-20T20:14:00.613 に答える
0

私があなたの質問を正しく読んだら、あなたはそれが手動で何か違うことをするようにトリガーされたときに欲しいです。

セクション1

someGlobalVariable = true;
$('#field').trigger('click');

第2節

$('#field').click(function(){
   alert('One');
   if(!someGlobalVariable){
      alert('Two');
   }
   someGlobalVariable = false;
})
于 2012-08-20T20:07:54.527 に答える