防止事件与另一个事件一起触发

时间:2016-02-06 14:59:58

标签: javascript google-maps

我有google.maps事件处理程序

google.maps.event.addListener('place_changed', function(){
  ...
})

附加到输入(也是自动完成)和另一个附加到同一输入的处理程序

input.addEventListener('change', function(){
...
})

如何阻止更改 place_changed 一起触发?准确一点,如果 place_changed ,则不要触发更改,反之亦然。

我试过

google.maps.event.addListener('place_changed', function(){
    input.addEventListener('change', function(){
       return 0;
    })

})

但它没有帮助

1 个答案:

答案 0 :(得分:0)

所以我读到你想要在事件b 被触发时不要触发事件

这很简单:

window.e_called = false;
function e1()
{
    window.e_called = true;
    // event 1 code...
}

function e2()
{
    window.setTimeout(function()
    {
        if(!window.e_called)
        {
             // event 2 code...
        }
        window.e_called = false;
    }, 1);
}

你当然必须绑定e1()e2()以及所有这些内容,但我希望你理解我的解决方案。