Comment puis-je désactiver Ctrl+V (Coller) option à l'aide de jQuery dans un de mes champs de saisie de texte....
Réponses
Trop de publicités?Cela semble fonctionner ok.
Vous pouvez écouter les événements de clavier avec jQuery et empêcher l'événement de se terminer si c'est la combinaison de touche que vous recherchez. Remarque, vérifiez 118 et 86 ('V' et 'v')
Exemple ici: 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();
}
});
});
Mise à jour: pression de touche n'a pas de feu dans IE, utilisez keydown à la place.
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;
});
J'ai essayé dans mon Angulaire du projet et il a bien fonctionné sans jQuery.
<input type='text' ng-paste='preventPaste($event)'>
Et dans la partie de script:
$scope.preventPaste = function(e){
e.preventDefault();
return false;
};
Non angulaire du projet, l'utilisation de 'onPaste" au lieu de "ng-coller" et "événement" instesd de '$event'.