我想在别针上活动。当用户单击图钉时,将调用单击方法。当用户拖动图钉时,第二种方法是dragend。
我目前有以下事件处理程序:
Microsoft.Maps.Events.addHandler(pin, 'click', displayInfobox);
Microsoft.Maps.Events.addHandler(pin, "dragend", endDragHandler);
问题是,当用户仅单击该图钉时,将首先调用endDragHandler,然后再调用click方法。
对于如何解决这个问题,有任何的建议吗?
谢谢
最佳答案
在dragend
之前先触发click
似乎很奇怪,但是您的确是这样。我能想到的最简单的解决方法是:订阅click
事件,而不是订阅mousedown
事件:
Microsoft.Maps.Events.addHandler(pin, 'mousedown', displayInfobox);
Microsoft.Maps.Events.addHandler(pin, "dragend", endDragHandler);
mousedown
将在dragend
之前触发。因此,如果您可以使用“ mousedown”功能,那么建议您这样做。如果必须使用click
,事情可能会变得复杂。