从缩放/平移地图暂时取消绑定可拖动/鼠标滚轮?

时间:2013-09-26 13:23:19

标签: jquery jquery-ui dialog zoom draggable

我有一个带缩放/平移地图插件的页面,缩放/平移工作正常。我的问题是对话框不再可拖动。我把它缩小到评论这条线:

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

并且对话框将再次移动。我相信它与地图使用可拖动的事实有关,我想知道是否有某种方法可以在打开的对话框中从地图上取消绑定可拖动功能,并在关闭对话框时恢复它。我不想破坏地图,因为用户可能需要回到他们正在做的事情。我在这里有一个工作演示http://jsfiddle.net/h4c6a/,请原谅我必须复制/粘贴整个插件的事实。否则我无法正常工作。这是我正在使用http://www.jqueryscript.net/zoom/Smart-jQuery-Pan-Zoom-Plugin-Smart-jQuery-Zoom.html的缩放/平移插件,提前致谢。

1 个答案:

答案 0 :(得分: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; };}
});

拖动对话框,它会重新激活默认的拖动行为。最好是在拖动停止时将其设置为禁用...我让你这样做。