Ответ 1
Вы можете попробовать:
window.oncontextmenu = function(event) {
event.preventDefault();
event.stopPropagation();
return false;
};
Надеюсь, это полезно...
В веб-приложении мне нужно отключить выноски по умолчанию, которые показывают мобильные браузеры при касании и удержании ( "длинные нажатия" ) на целевую мишень, например, <img>
или ссылку.
Я уже использую -webkit-touch-callout: none;
, который отлично работает на iPhone и iPad, но, похоже, не работает на Android (протестирован на Android 4.4).
Этот пост из списка рассылки W3 предлагает добавить слушателя к событию "contextmenu" в Javascript и вызвать e.preventDefault()
. Это тоже не работает.
Любые предложения?
Вы можете попробовать:
window.oncontextmenu = function(event) {
event.preventDefault();
event.stopPropagation();
return false;
};
Надеюсь, это полезно...
<!DOCTYPE html>
<html>
<head>
<script>
function absorbEvent_(event) {
var e = event || window.event;
e.preventDefault && e.preventDefault();
e.stopPropagation && e.stopPropagation();
e.cancelBubble = true;
e.returnValue = false;
return false;
}
function preventLongPressMenu(node) {
node.ontouchstart = absorbEvent_;
node.ontouchmove = absorbEvent_;
node.ontouchend = absorbEvent_;
node.ontouchcancel = absorbEvent_;
}
function init() {
preventLongPressMenu(document.getElementById('doodle'));
}
</script>
</head>
<body onload="init()">
<img id="doodle" src="http://www.google.com/logos/doodles/2015/spain-elections-2015-5652792221892608-hp2x.jpg" width="400">
</body>
</html>