2013-03-06 19 views
1

我有一個按鈕,可以在點擊時進行一些操作。例如如何檢測jquery.trigger引發的單擊事件?

$(function() { 

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

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

     **/ 
    }) 

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

}); 

你怎麼知道是否該事件由調用trigger或從用戶點擊執行?

+1

有什麼問題:

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

http://jsfiddle.net/nCzaC/

您也可以觸發事件時區分觸發傳遞aditional的標誌參數? – 2013-03-06 06:47:36

+0

yaaa你想知道什麼? – supersaiyan 2013-03-06 06:48:57

+1

所以你想看看其他按鈕是否觸發你的事件處理程序?你爲什麼不調用另一個函數? – Blender 2013-03-06 06:50:07

回答

5

檢查e.originalEvent。這在前人的精力真正點擊的情況下,可以設置:

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

$('#button1').click(function (e, trigger) { 
    if (!trigger) { 
     alert('do click'); 
    } else { 
     alert('do trigger'); 
    } 
}) 
+0

這可能是OP要求的內容,但爲什麼要這樣做? – 2013-03-06 06:51:48

+0

另外,+1爲小提琴。 – 2013-03-06 06:53:11

+0

@dfsq謝謝你。像魅力一樣工作:) – Mifas 2013-03-06 06:55:50