Es ist die am meisten und 'offizielle' Weg, um Mach es mit Jquery.
$(document).ready(function() {
var ambit = $(document);
// Disable Cut + Copy + Paste (input)
ambit.on('copy paste cut', function (e) {
e.preventDefault(); //disable cut,copy,paste
return false;
});
});
Allerdings funktioniert es nur auf und wie ich lese wird nicht auf einigen Opera-Versionen unterstützt. Alles außerhalb einer Eingabe darf kopiert werden.
Wenn das, was Sie vollständig deaktivieren möchten, paranoic mode: on
, Sie diese Methode verwenden können:
$(document).ready(function() {
var ambit = $(document);
// Disable Cut + Copy + Paste (input)
ambit.on('copy paste cut', function (e) {
e.preventDefault(); //disable cut,copy,paste
return false;
});
// Disable Cut + Copy + Paste and Browser Admin Tools (all document)
ambit.keydown(function (e) {
var forbiddenCtrlKeys = new Array('c', 'x', 'v', 'ins', 'u');
var forbiddenShiftKeys = new Array('del', 'ins', 'f2', 'f4', 'f7');
var forbiddenCtrlShiftKeys = new Array('k', 'i', 'm', 's', 'j');
var keyCode = (e.keyCode) ? e.keyCode : e.which;
var isCtrl, isShift;
isCtrl = e.ctrlKey;
isShift = e.ctrlShift;
string = getKeyCodeString(keyCode);
if (string == 'f12')
{
e.preventDefault();
return false;
}
if (isCtrl && !isShift) {
for (i = 0; i < forbiddenCtrlKeys.length; i++) {
if (forbiddenCtrlKeys[i] == string) {
e.preventDefault();
return false;
}
}
}
if (!isCtrl && isShift) {
for (i = 0; i < forbiddenShiftKeys.length; i++) {
if (forbiddenShiftKeys[i] == string) {
e.preventDefault();
return false;
}
}
}
if (isCtrl && isShift) {
for (i = 0; i < forbiddenCtrlShiftKeys.length; i++) {
if (forbiddenCtrlShiftKeys[i] == string) {
e.preventDefault();
return false;
}
}
}
return true;
});
var getKeyCodeString = function(keyCode)
{
var string;
switch (keyCode) {
case 45:
string = 'ins'; break;
case 46:
string = 'del'; break;
case 113:
string = 'f2'; break;
case 115:
string = 'f4'; break;
case 118:
string = 'f7'; break;
case 123:
string = 'f12'; break;
default:
string = String.fromCharCode(keyCode);
break;
}
return string.toLowerCase();
}
});
Und was ist mit dem Kontextmenü?
$(document).ready(function() {
var ambit = $(document);
// Disable Contextual Menu
ambit.on('contextmenu', function (e) {
e.preventDefault();
return false;
});
Und was ist mit Mobile?
$(document).ready(function() {
var ambit = $(document);
// Disable Tap and Hold (jQuery Mobile)
ambit.on('taphold', function (e) {
e.preventDefault();
return false;
});
});
Hoffe es hilft! Korrekturen und Verbesserungen sind willkommen!
Nur sicherstellen, dass dies nicht als "Sicherheitsmaßnahme" gemeint ist, da Sie es leicht umgehen können, indem Sie Java Script deaktivieren, den Quellcode überprüfen, Screenshots und vieles mehr. – Moak
im Einfügen-Ereignis hinzufügen e.preventDefault() -Methode –