У меня есть страница с плагином масштабирования/панорамирования, а масштабирование/панорамирование работает отлично. Моя проблема в том, что диалоги больше не перетаскиваются. Я сузил его, чтобы прокомментировать эту строку:
$('#imageFullScreen').smartZoom({'containerClass':'zoomableContainer'});
и диалоги снова переместятся. Я считаю, что это связано с тем, что карта использует draggable, и я хотел знать, есть ли способ отменить перетаскиваемую функциональность из открытой карты и открыть ее при закрытии диалогового окна. Я не хочу уничтожать карту, так как пользователю может потребоваться вернуться к тому, что они делают. У меня есть рабочая демонстрация здесь http://jsfiddle.net/h4c6a/ и, пожалуйста, извините, что мне пришлось копировать/вставлять весь подключаемый модуль. Я не мог заставить его работать иначе. Это вставка масштабирования/панорамирования. Я использую http://www.jqueryscript.net/zoom/Smart-jQuery-Pan-Zoom-Plugin-Smart-jQuery-Zoom.html. Спасибо заранее.
Смотря в коде 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; };}
});
Перетаскивая диалог, он активирует поведение перетаскивания по умолчанию. Лучше всего отключить его при остановке перетаскивания... Я позволил вам сделать это.