Клуб API Карт

вместо map.Events.DblClick происходит событие map.Events.Click

alexmegus
8 марта 2011, 16:12

Добрый день, коллеги

Подписываюсь на два события карты DblClick и Click

но обработка DblClick не осуществляется, вместо этого происходит вызов Click

вырезка из кода:

YMaps.Events.observe(map, map.Events.DblClick, function (map, mEvent) {
                alert('Двойной клик');
});

YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
                alert('Один клик');
});
Как исправить такое поведение?

13 комментариев
Подписаться на комментарии к посту

Попробуйте не использовать alert() для диагностики...

Возможно из-за этого двойной щелчок "не успевает распознаться" и определяется как одиночный.

проверял, это не помогает
По умолчанию DblClick обрабатывается самой картой (зум по двойному клику) и подписчикам не приходит. Отключается через map.disableDblClickZoom().

не помогает. мне кажется, все таки проблема кроется в другом.

дабл-клик зум отключен, но при двойном клике срабатывает метод одинарного клика.

Это стандартное поведение браузера.

Двойной клик всегда предваряется одинарным.

Извиняюсь, что влезаю в чужую тему, но смысла в создании новой по-моему нету. Вопрос в том, можно ли отключить двойной клик на метке(placemark)?
А зачем? Какого эффекта вы хотите добиться?

Дело в том, что у меня стоит обработчик на одиночный клик на метке, в результате которого отправляется аякс запрос на сервер. Соотв. тратится некоторое время на ответ. После того, как ответ придёт, если опять кликать по метке, то аякс запрос не выполняется.

НО, если сделать двойной клик, то происходит выполнение одиночного клика 2 раза, причём второй клик срабатывает в то время пока идёт ответ от сервера в результате первого.

Надеюсь понятно объяснил. Правда пока писал, кажется понял, что это бессмысленно... Если двойной клик всё равно вызывает одиночный клик..

Да, вы правильно поняли. Второй клик может произойти и без двойного клика.

Правыльно будет после первого клика совсем перестать слушать клики до момента получения ответа.

Точно, спасибо.

А как различить программно двойной клик правой и левой кнопкой мыши?

Нашли решение??

Нет, к сожалению не нашел. В качестве временной заплатки использую вместо двойного клика одинарный клик правой кнопкой мыши.

На этой неделе предприму еще один подход в решение этой задачи :)