【问题标题】:Leaflet control dialog draggable on touch screens可在触摸屏上拖动的传单控制对话框
【发布时间】:2017-07-01 14:07:57
【问题描述】:

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

我正在使用 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();

【问题讨论】:

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


    【解决方案1】:

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

    我仍然想知道这是否可以使用原生 Leaflet 函数来完成。

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多