事件处理程序调用两次(javascript)

时间:2013-05-28 19:16:14

标签: javascript bing-maps

我是JS的新手,我遇到了一些问题,我的事件处理程序被我的bing map信息框调用了两次。我认为这是因为mouseup和mousedown。但是,我不知道如何检查事件是鼠标还是鼠标按下(无法在任何地方的文档中找到它。)任何人都知道如何检查mouseEvent是鼠标向上还是鼠标按下?以下是信息框事件处理程序文档的链接:Bing Info Box docs

infoBox.setOptions({
                    actions : [ {
                        label : "Edit",
                        eventHandler : function(mouseEvent) {
                            // Called twice here...
                        }
                    } ]
                });

1 个答案:

答案 0 :(得分:2)

我对Bing Info Box一无所知,但假设mouseEvent是触发你的处理程序的事件对象,你可以在事件处理程序中放置一个条件来处理事件,如果它是mousedown,但不是如果是鼠标:

...
eventHander : function(mouseEvent) {
  if (mouseEvent.type === "mousedown") {
    // do stuff
  }
}
...

修改

如下面的评论中所示,使用Bing信息框实现此目的的方法是检查if (mouseEvent.type === 'click')