有没有办法阻止事件监听器在触发一个事件时迭代所有事件?

时间:2015-05-07 18:14:29

标签: javascript android jquery events

所以我有一个如此定义的按钮......

<button id='myButton'>My Button</button>

我的应用程序需要在桌面和平台上顺利运行移动设备,所以当点击/点击按钮时,我需要运行一些代码...

我是这样做的......

$("#myButton").on('click tap', function()
{
    alert("Button has been clicked!");
});

我的问题是当我使用鼠标点击时多次触发事件。我假设这是因为点击事件在每次点击时都会注册。理想情况下,我只是删除点击事件,但我被告知鼠标点击不完全支持点击事件......

所以在这种情况下,我会通过提醒两次得到通知......

无论如何,如果已经触发了侦听器,我可以让侦听器不计算其他事件触发器吗?

2 个答案:

答案 0 :(得分:0)

您可以结帐stopImmediatePropagation以防止执行任何其他处理程序

答案 1 :(得分:0)

这将有效:

var $myButton = $("#myButton");

if (typeof $myButton.click == 'function')
{
    $myButton.on('click', function()
    {
      alert("Button has been clicked!");
    });
}

if (typeof $myButton.tap == 'function')
{
    $myButton.on('tap', function()
    {
      alert("Button has been tapped!");
    });
}