0

我有一个带有缩放/平移地图插件的页面,并且缩放/平移工作得很好。我的问题是对话框不再可拖动。我已将其范围缩小到注释掉这一行:

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

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

4

1 回答 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; };}
});

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

于 2013-09-26T15:41:10.970 回答