【问题标题】:Prevent browser pop on taphold event防止浏览器在点击事件时弹出
【发布时间】:2011-05-02 15:45:06
【问题描述】:

在一个基于 jquery-mobile 的网络应用程序中,我如何防止默认浏览器菜单显示在“点击保持”上......相反,我想显示一个自定义对话框页面......

下面提到的是我现在的代码..

$(".task_row").bind('taphold',function(event, ui){
    event.preventDefault();
    $("#slide_down_menu").trigger('click');
});

【问题讨论】:

  • 你确定这不是右键菜单吗?什么浏览器?尝试收听contextmenu 事件和.preventDefault();return false;
  • 如果我理解正确,@naugtur 建议的解决方案如下所述:stackoverflow.com/questions/30775237/… 在我所有使用触摸设备的情况下都有效

标签: jquery jquery-mobile preventdefault


【解决方案1】:

使用css:

a {
    -webkit-touch-callout: none !important; 
}

不显示标准对话框

【讨论】:

  • 这对我有用。我的问题是一样的。我想避免用户点击并按住某些链接。这是通过这个 css 实现的。
  • 在 iOS 上效果很好有没有人知道 android 等效?
【解决方案2】:

问题在于,您绑定的 'taphold' 事件是由 jQuery Mobile 触发的自定义事件,因此它与触发浏览器默认行为的事件不同。

如果您试图避免的默认菜单是允许您“打开”或“复制”网址的菜单,那么一种解决方案是不使用<a> 标记。如果你使用 span 或 div,你可以绑定一个 ontap 函数来改变浏览器的位置,并且你的 taphold 事件不会被默认行为中断。

【讨论】:

    【解决方案3】:

    我发现你必须禁用右键单击。

    $(function(){
    
        document.oncontextmenu = function() {return false;};
    
        $(document).mousedown(function(e){
    
            if ( e.button == 2 )
            { 
                alert('Right mouse button!'); 
                return false; 
            }
    
            return true;
        });
    });
    

    【讨论】:

      【解决方案4】:

      如何使用ontouchstart 事件?我很确定我已经使用它来防止发生默认的 iPad 交互。

      $(".task_row").bind('touchstart', function(event, ui){
          event.preventDefault();
          $("#slide_down_menu").trigger('click');
      });
      

      【讨论】:

        【解决方案5】:

        你很接近它。正确的代码是:

        $('#ciytList li a ').bind('taphold', function(e) {
            e.preventDefault();
            return false;
        } );
        

        【讨论】:

          【解决方案6】:

          我刚刚取下链接并应用 css 使其看起来像一个并使用了这个

          $.mobile.changePage( "#main", { transition: "slideup"} );

          但我已经将它绑定到显示删除按钮的点击事件...不再弹出菜单

          【讨论】:

            猜你喜欢
            • 2011-03-10
            • 2017-01-07
            • 1970-01-01
            • 2019-05-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-17
            相关资源
            最近更新 更多