javascript - 在手机上长按网页中的按钮,浏览器会弹出这个按钮的背景图的操作菜单,怎样避免这种情况?
黄舟
黄舟 2017-04-10 14:53:03
[JavaScript讨论组]

网页是用jQuery Mobile做的,按钮是一个a标签,a标签里面嵌套了一个img标签。监听的是taphold事件。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(5)
高洛峰

要兼容的吧

cssa, img {
    -webkit-touch-callout: none;
    -ms-touch-callout: none;
    -moz-touch-callout: none;
    -o-touch-callout: none;
    touch-callout: none;
}

实在不行用js去实现

jsdocument.body.oncontextmenu=document.body.ondragstart= document.body.onselectstart=document.body.onbeforecopy=function(){
    return false;
};
document.body.onselect=document.body.oncopy=document.body.onmouseup=function(){
    document.selection.empty();
}; 

jq 写法?好像jq没有添加这个contextmenu方法你去看jq 2.0有没有,不过JSLite有哦

js$('#box').on('contextmenu',function(e){
    replyRightMenu(e);
    if ( e && e.preventDefault ) e.preventDefault(); 
    else window.event.returnValue = false;
    e.cancelBubble = true;
    return false;
});
黄舟
a, img {
    -webkit-touch-callout: none;
}
迷茫

你想要 a 的什麼效果,touch highlight?

img 不是用來做 ui 的,img 是網頁信息的一部分。ui 請用 css 設置 background

只要用 css 做就不會有這個問題了。

PHP中文网

/css/
body{-webkit-tap-highlight-color: rgba(0,0,0,0);}

迷茫

window.ontouchstart = function(e) { e.preventDefault(); };

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号