可在触摸屏上拖动的传单控制对话框

时间:2017-07-01 14:07:57

标签: javascript leaflet touch draggable jquery-ui-draggable

我在触摸设备上拖动Leaflet对话框时遇到了问题。

我使用Leaflet 1.0.3(http://leafletjs.com/)和Leaflet.Dialog插件(https://github.com/NBTSolutions/Leaflet.Dialog)在地图上显示一些信息。它与鼠标事件完美配合。但是,它在触摸屏上完全失败。

我怀疑Leaflet的触摸设备上的地图事件监听器禁止在叠加元素上触摸事件,所以我尝试在地图选项中设置拖动并点击为false,但都没有奏效。我还在对话框中添加了jquery-ui可拖动功能,使整个对话框在非触摸屏设备上可拖动;但是,触摸事件仍然没有运气。关于如何使这项工作的任何想法?

var map = L.map('map', {
    maxZoom: 20,
    minZoom: 5/*,
    tap: false,
    dragging: false*/});

var dialog = L.control.dialog(options)
    .setContent("test")
    .addTo(map);

$('.leaflet-control-dialog').draggable();

1 个答案:

答案 0 :(得分:0)

为了回答我自己的问题,我设法使用Touch Punch jQuery-UI插件使其工作: https://github.com/furf/jquery-ui-touch-punch/

我仍然有兴趣知道这是否可以使用原生Leaflet功能完成。