10 ответов:
Теперь это работает для IE FF Chrome правильно... Я не тестировал для других браузеров, хотя
$(document).ready(function(){ $('#txtInput').on("cut copy paste",function(e) { e.preventDefault(); }); });Edit: как указано webeno,
.bind()считается устаревшим, поэтому рекомендуется использовать.on()вместо.
Edit: это почти 6 лет спустя, глядя на это сейчас я бы не рекомендовал это решение. Принято отвечать-это, безусловно, гораздо лучше. Иди с этим!
Это, кажется, работает.
вы можете слушать клавиатуры С jQuery и предотвратить событие от завершения, если его ключ комбо вы ищете. Обратите внимание, Проверьте 118 и 86 (V и v)
рабочий пример здесь: http://jsfiddle.net/dannylane/9pRsx/4/
$(document).ready(function(){ $(document).keydown(function(event) { if (event.ctrlKey==true && (event.which == '118' || event.which == '86')) { alert('thou. shalt. not. PASTE!'); event.preventDefault(); } }); });обновление: нажатие клавиши не срабатывает в IE, вместо этого используйте keydown.
начиная с JQuery 1.7 вы можете использовать метод on вместо
$(function(){ $(document).on("cut copy paste","#txtInput",function(e) { e.preventDefault(); }); });
jQuery('input.disablePaste').keydown(function(event) { var forbiddenKeys = new Array('c', 'x', 'v'); var keyCode = (event.keyCode) ? event.keyCode : event.which; var isCtrl; isCtrl = event.ctrlKey if (isCtrl) { for (i = 0; i < forbiddenKeys.length; i++) { if (forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) { return false; } } } return true; });
я попробовал это в своем угловом проекте, и он отлично работал без jQuery.
<input type='text' ng-paste='preventPaste($event)'>и в части скрипт:
$scope.preventPaste = function(e){ e.preventDefault(); return false; };в угловой проекта, используйте 'onPaste' вместо 'НГ-вставить' и 'событие' instesd из 'праздники'.
следующий код отключит вырезание, копирование и вставку из полной страницы.
$(document).ready(function () { $('body').bind('cut copy paste', function (e) { e.preventDefault(); }); });полный учебник и рабочий демо можно найти здесь -отключить вырезать, копировать и вставлять с помощью jQuery
вы можете поймать ключевое событие:
function checkEventObj ( _event_ ){ // --- IE explorer if ( window.event ) return window.event; // --- Netscape and other explorers else return _event_; } document.keydown = function(_event) { var e = checkEventObject(_event); if( e.ctrlKey && (e.keyCode == 86) ) window.clipboardData.clearData(); }Не проверял, но может помочь.
источник comentcamarche и Закария
$(document).ready(function(){ $('#txtInput').live("cut copy paste",function(e) { e.preventDefault(); }); });на textbox live событие вырезать, копировать, вставить событие предотвращается, и он хорошо работает.
Я проверил эту проблему в браузере chrome, и она работает для меня.Ниже приведено решение для предотвращения вставки кода в текстовое поле, а также предотвращения щелчка правой кнопкой мыши.
$(".element-container").find('input[type="text"]').live("contextmenu paste", function (e) { e.preventDefault(); });
$(document).ready(function(){ $('input').on("cut copy paste",function(e) { e.preventDefault(); }); });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" />
Comments