是否可以检测 jQuery 单击事件是否已被实际单击或触发器调用?

发布于 2024-12-03 23:53:26 字数 197 浏览 0 评论 0原文

我有一些与单击事件绑定的功能:

$('.addButton').live('click', function(){  
 //stuff here...
});

有时该函数是通过实际的按钮单击调用的,有时使用 trigger() 。有没有办法检测使用了哪种方法?

谢谢!

I have some functionality which is bound to a click event:

$('.addButton').live('click', function(){  
 //stuff here...
});

Sometimes the function is called by an actual button click, and sometimes using trigger(). Is there a way to detect which method has been used?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

生死何惧 2024-12-10 23:53:26

请参阅:http://api.jquery.com/category/events/event-object /

$('.addButton').live('click', function(e){ 
    if(e.which != undefined){
         //actual button click
    }
    else{
         //trigger
    }
});

请参阅此处的示例:http://jsfiddle.net/expertCode/d5SW2/

See this: http://api.jquery.com/category/events/event-object/

$('.addButton').live('click', function(e){ 
    if(e.which != undefined){
         //actual button click
    }
    else{
         //trigger
    }
});

See example here: http://jsfiddle.net/expertCode/d5SW2/

孤凫 2024-12-10 23:53:26

我相信您可以将另一个包含 eventData 的参数传递给 .live

.live( eventType, eventData, handler )
// eventData A map of data that will be passed to the event handler.

是否可以使用它来包含有关被调用者如何进行调用的指示符?

I believe you can pass another argument to .live that contains eventData

.live( eventType, eventData, handler )
// eventData A map of data that will be passed to the event handler.

Would it be possible to use this to contain an indicator as to how the callee made the call?

不疑不惑不回忆 2024-12-10 23:53:26

简短回答:是的。

$('.addButton').live('click', function(event){  
if(event.clientX === undefined)
  console.log("Invoked programatically")
});

当然,如果你愿意的话,你可以模仿。但默认情况下它不存在。

Short answer: Yes.

$('.addButton').live('click', function(event){  
if(event.clientX === undefined)
  console.log("Invoked programatically")
});

Of course you can emulate that, if you want. But it's not there by default.

多彩岁月 2024-12-10 23:53:26

您可以向触发函数添加额外的参数,并使用 来区分可能的来源...

You can add extra parameters to the trigger function and use the to distinguish the possible sources...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文