Отключение щелчка правой кнопкой мыши на изображениях с помощью jquery
Я хочу знать, как отключить щелчок правой кнопкой мыши на изображениях с помощью jQuery.
Я знаю только этот:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(document).bind("contextmenu",function(e) {
return false;
});
});
</script>
7 ответов:
это работает:
$('img').bind('contextmenu', function(e) { return false; });
или для более новых jQuery:
$('#nearestStaticContainer').on('contextmenu', 'img', function(e){ return false; });
какова ваша цель отключения правой кнопки мыши. проблемы с любой техникой, что всегда есть способ обойти их. консоль для firefox (firebug) и chrome позволяют отменить привязку этого события. или если вы хотите, чтобы изображение было защищено, всегда можно просто взглянуть на их временный кэш для изображений.
если вы хотите создать свое собственное контекстное меню, то preventDefault в порядке. Просто выберите свои битвы здесь. даже не большая библиотека JavaScript, как tnyMCE работает на всех браузерах... и это не потому, что это невозможно ;-).
$(document).bind("contextmenu",function(e){ e.preventDefault() });
лично я больше за открытый интернет. Собственное поведение браузера не должно быть затруднено взаимодействием страниц. Я уверен, что можно найти и другие способы взаимодействия, которые не являются правым щелчком мыши.
в chrome и firefox вышеуказанные методы не работали, если я не использовал "live" вместо "bind".
это сработало для меня:
$('img').live('contextmenu', function(e){ return false; });
Для Отключения Опции Щелчка Правой Кнопкой Мыши
<script type="text/javascript"> var message="Function Disabled!"; function clickIE4(){ if (event.button==2){ alert(message); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ alert(message); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("alert(message);return false") </script>
можно ли оставить возможность щелкнуть правой кнопкой мыши и загрузить только тогда, когда на изображении будет размещен отдельный водяной знак. Конечно, это не предотвратит снимки экрана, но подумал, что это может быть хорошая середина.
вы можете попробовать это:
var message="Sorry, right-click has been disabled"; function clickIE() { if (document.all) { (message); return false; } } function clickNS(e) { if (document.layers || (document.getElementById && !document.all)) { if (e.which == 2||e.which == 3) { (message); return false; } } } if (document.layers) { document.captureEvents(Event.MOUSEDOWN); document.onmousedown = clickNS; } else { document.onmouseup = clickNS; document.oncontextmenu = clickIE; } document.oncontextmenu = new Function("return false")
очень простой способ-добавить изображение в качестве фона в DIV, а затем загрузить пустой прозрачный gif, установленный на тот же размер, что и DIV на переднем плане. это удерживает менее решительных. Они не могут получить фон без просмотра кода и копирования URL-адреса, а щелчок правой кнопкой мыши просто загружает прозрачный gif.