我有一个应该触发自定义行为的按钮。因此我正在使用Jquery的contextmenu
事件。 Please see my fiddle
目前我以这种方式约束事件:
$( "#mybutton" ).contextmenu(function() {
alert( "Handler for .contextmenu() called." );
});
我也试图像这样绑定它:
$( "#mybutton" ).on('contextmenu', function() {
alert( "Handler for .contextmenu() called." );
});
正如您将在我的小提琴中看到的那样,我使用以下方法禁用了longpress的默认ios行为:
body { -webkit-touch-callout: none !important; }
input { -webkit-user-select: none !important; }
我测试了我的小提琴:
以上所有工作都符合预期。不幸的是,这不适用于我的Ipad上的ios / Safari。当前的Safari版本为10.1.2
我尝试通过将Ipad连接到我的mac并记录控制台输出来调试它。看来事件永远不会被解雇。
我已经找到了解决方案,但不幸的是,唯一的解决方案似乎是使用我要避免的jquery-mobile taphold
或编写自定义timer-based event handlers,这也不是非常干净的解决方案,imho。
有没有人有类似的经历,也许找到了解决方案?