Временно отсоединить перетаскиваемое колесо мыши от карты масштабирования / панорамирования?

0

У меня есть страница с плагином масштабирования/панорамирования, а масштабирование/панорамирование работает отлично. Моя проблема в том, что диалоги больше не перетаскиваются. Я сузил его, чтобы прокомментировать эту строку:

$('#imageFullScreen').smartZoom({'containerClass':'zoomableContainer'});

и диалоги снова переместятся. Я считаю, что это связано с тем, что карта использует draggable, и я хотел знать, есть ли способ отменить перетаскиваемую функциональность из открытой карты и открыть ее при закрытии диалогового окна. Я не хочу уничтожать карту, так как пользователю может потребоваться вернуться к тому, что они делают. У меня есть рабочая демонстрация здесь http://jsfiddle.net/h4c6a/ и, пожалуйста, извините, что мне пришлось копировать/вставлять весь подключаемый модуль. Я не мог заставить его работать иначе. Это вставка масштабирования/панорамирования. Я использую http://www.jqueryscript.net/zoom/Smart-jQuery-Pan-Zoom-Plugin-Smart-jQuery-Zoom.html. Спасибо заранее.

Теги:
zoom
dialog
draggable

1 ответ

0

Смотря в коде smartZoom...

function mouseDownHandler(e){
    e.preventDefault(); // prevent default browser drag
    ... ... ...
    smartData.moveCurrentPosition = new Point(e.pageX, e.pageY);
    smartData.moveLastPosition =  new Point(e.pageX, e.pageY);
}

Итак, вот оно с исправлением: http://jsfiddle.net/TCHdevlp/h4c6a/24/

$( "#dialog" ).dialog({
    dragStart:function( event, ui ) {document.ondragstart = function () { return true; };}
});

Перетаскивая диалог, он активирует поведение перетаскивания по умолчанию. Лучше всего отключить его при остановке перетаскивания... Я позволил вам сделать это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню