Клуб API Карт

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

Пост в архиве.

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

Подписываюсь на два события карты 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 комментариев
Александр Новиков
28 января 2016, 06:21

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

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

Александр Ворошин
28 января 2016, 06:21
проверял, это не помогает
Sergey Konstantinov
28 января 2016, 06:21
По умолчанию DblClick обрабатывается самой картой (зум по двойному клику) и подписчикам не приходит. Отключается через map.disableDblClickZoom().
Александр Ворошин
28 января 2016, 06:21

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

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

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

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

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

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

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

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

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

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

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

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

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

Александр Ворошин
28 января 2016, 06:21

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

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