Клуб API Карт

Одновременная смена interactivityModel и установка draggable в true

Пост в архиве.
dmitryklerik
7 июля 2012, 17:49
Вот такой вопрос:

Создаю геобъект с interactivityModel: 'default#transparent'
и вешаю на него обработчик mousedown, в котором ставлю
опции для объекта в interactivityModel: 'default#geoObject' и 'draggable': true
чтобы включить перетаскивание для этого объекта и сразу же тут-же начать тащить этот объект.

Пример: http://jsfiddle.net/r2xqu/13/

Но получается что по первому клику ничего не тащится, объект начинает только по второму клику.

Как сделать так чтобы когда в обработчике мыши меняется модель интерактивности,
изменения применялись сразу и сразу начинали действовать?



ps естественно это вырожденный пример, в сам приложении такая логика действий смотрится нормально)
2 комментария
Так и не должно работать. Драг включается по mousedown - соответственно, если mousedown уже прошел, драг не включится.
В такой ситуации лучше всегда держать draggable: true, слушать mousedown и, в зависимости от ситуации, вызывать или не вызывать preventDefault()
Но судя по примеру http://jsfiddle.net/SJdgD/1/
драг получается включать по mousedown

Получается все зависит от смены модели интерактивности, ведь когда 'default#transparent' то драг не работает