移动web端禁止长按a标签,弹出“在浏览器中打开”菜单

Posted 清风晰心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动web端禁止长按a标签,弹出“在浏览器中打开”菜单相关的知识,希望对你有一定的参考价值。

长按press事件会导致浏览器弹出菜单

方法一:

苹果禁止:

-webkit-touch-callout: none;

 

安卓的不行。禁止弹出只能用js来控制:

$(\'a\').ontouchstart = function(e) { 
    e.preventDefault(); 
};

 

方法二:

将<a>标签换成其他的标签,如<button>,<div>,<p>。然后绑定touchstart,click事件js跳转。

<div class="jump">链接</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
    $(\'.jump\').on(\'touchstart\', function () {
        location.href = "";
    })
</script>

 

如果想要禁止文本被选中,可以加上css

.jump {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

 

 

 

以上是关于移动web端禁止长按a标签,弹出“在浏览器中打开”菜单的主要内容,如果未能解决你的问题,请参考以下文章

H5移动端禁止长按弹出系统菜单"选择复制","在浏览器打开"

小知识点积累

h5通过css实现禁止ios端长按复制选中文字的方法

如何在移动浏览器上禁止长按会出现的文本操作菜单

移动端在有弹出层时如何禁止底层的滚动

VUE: 移动端长按弹出确认删除地址