0

使用 dhtmlx 5.0 和 wijmo 网格开发了一个 webapp。该应用程序在 chrome(android) 中使用时运行良好。上下文菜单是通过触摸“按住”打开的,但在 iphone 的 safari 浏览器中使用时同样的事情不起作用。iphone 中的任何触摸事件都不会打开上下文菜单。请帮助事件或图书馆,以使其工作。

4

1 回答 1

0

请尝试使用以下代码模拟您自己的 longPress:

var timer;

function onlongtouch(x,y){
    timer = null;
    myContextMenu.showContextMenu(x, y);
}
function touchstart(e) {
    var x = e.touches[0].clientX
    var y = e.touches[0].clientY
    if (!timer) {
        timer = setTimeout(function(){onlongtouch(x,y)}, 800);
    }
}

function touchend() {
    if (timer) {
        clearTimeout(timer);
        timer = null;
    }
}

document.addEventListener("DOMContentLoaded", function(event) { 
    window.addEventListener("touchstart", touchstart, false);
    window.addEventListener("touchend", touchend, false);
});

这是一个工作示例: http ://snippet.dhtmlx.com/5/f0a993511

于 2021-04-02T17:15:14.687 回答