Wie kann man das Einfügen (Strg+V) mit jQuery deaktivieren?

Lesezeit: 4 Minuten

Wie kann man das Einfugen StrgV mit jQuery deaktivieren
Misam

Wie kann ich das Einfügen deaktivieren (Strg+v) Option mit jQuery in einem meiner Eingabetextfelder?

  • Warum würdest du das tun? Es würde mehr als einen Benutzer frustrieren, wenn Sie Strg+V deaktivieren. Außerdem können Sie immer mit der rechten Maustaste klicken und Einfügen auswählen

    – Christoph

    1. April 11 um 7:06 Uhr

  • @krike vielleicht, um Leute zu zwingen, ihre E-Mail-Adresse oder ihr Passwort erneut einzugeben?

    – Gregor

    1. April 11 um 7:11 Uhr

  • Ich werde JS im Browser deaktivieren und kann jederzeit Strg + V eingeben.

    – Kamilos

    1. April 11 um 7:31 Uhr

  • @Kamilos, was ist mit Banking oder Facebook? Wenn Sie Javascript deaktivieren, können wir nicht einmal Kommentare im Stapelüberlauf veröffentlichen.

    – Gregor

    1. April 11 um 7:57 Uhr


  • @greg: “Leute dazu zwingen, ihre E-Mail-Adresse erneut einzugeben” – und bitte sagen Sie, was ist der Sinn davon? Wenn Sie bereits sinnlose Tricks wie “tippen Sie Ihre Adresse zweimal ein, um zu sehen, ob Sie sich wirklich daran erinnern” aufstellen und dann mit meiner Zwischenablage herumspielen, nur um mir zu zeigen, wer das Sagen hat, gehe ich – wenn das ist ein Versuch, einen guten ersten Eindruck zu machen, dann erwarte ich voll und ganz, dass die Seite schrecklich ist.

    – Piskvor verließ das Gebäude

    1. April 11 um 11:46 Uhr


Wie kann man das Einfugen StrgV mit jQuery deaktivieren
Misam

Dies funktioniert jetzt ordnungsgemäß für IE FF Chrome … Ich habe es jedoch nicht für andere Browser getestet

$(document).ready(function(){
   $('#txtInput').on("cut copy paste",function(e) {
      e.preventDefault();
   });
});

Bearbeiten: Wie von webeno hervorgehoben, .bind() ist veraltet, daher wird die Verwendung empfohlen .on() stattdessen.

  • $(‘#txtInput’).bind(“contextmenu”,function(e){ e.preventDefault(); });//Dies deaktiviert den Rechtsklick

    – Misam

    1. April 11 um 9:21 Uhr


  • Interessant, ich wusste nicht, dass es diese Events gibt. Ich habe diese Seite im Browser-Quirks-Modus gefunden, die Informationen zur Cross-Browser-Kompatibilität für diese Ereignisse enthält: quirksmode.org/dom/events/cutcopypaste.html

    – Danny Lane

    1. April 11 um 12:51 Uhr

  • Safari unterstützt dies auch.

    – Hannes Karppila

    9. Juni 15 um 15:40 Uhr

  • wow, das ist toll! Sie können das Kontextmenü deaktivieren, aber das Beste ist, dass es nicht nötig ist!

    – dave

    23. November 15 um 10:43 Uhr

  • HINWEIS „Seit jQuery 3.0 ist .bind() veraltet. Es wurde seit jQuery 1.7 durch die .on()-Methode zum Anhängen von Ereignishandlern an ein Dokument ersetzt, sodass von seiner Verwendung bereits abgeraten wurde.“ — Quelle: api.jquery.com/bind

    – benomatis

    09.03.18 um 20:35 Uhr


1643293266 332 Wie kann man das Einfugen StrgV mit jQuery deaktivieren
Danny Lane

Bearbeiten: Es ist fast 6 Jahre später, wenn ich mir das jetzt ansehe, würde ich diese Lösung nicht empfehlen. Die akzeptierte Antwort ist definitiv viel besser. Geh damit!


Das scheint zu funktionieren.

Sie können zuhören Tastaturereignisse mit jQuery und verhindern Sie, dass das Ereignis abgeschlossen wird, wenn es die gesuchte Tastenkombination ist. Beachten Sie, überprüfen Sie 118 und 86 (v und v)

Arbeitsbeispiel hier:
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();
         }
    });
});

Update: Tastendruck wird im IE nicht ausgelöst, verwenden Sie stattdessen Keydown.

  • Funktioniert nicht für Rechtsklick + Einfügen oder für diese “Multimedia-Tasten”; Diese verwenden andere Mechanismen als Tastaturkürzel. Außerdem gehen Sie davon aus, dass das Einfügen immer und nur bei Strg + V erfolgt

    – Piskvor verließ das Gebäude

    1. April 11 um 11:50 Uhr

  • @Piskvor Ich mache keine Annahmen, die Frage war, wie man Strg + V deaktiviert, was ich beantwortet habe.

    – Danny Lane

    1. April 11 um 11:57 Uhr

  • @DannyLane: Du hast recht. Ich habe die Frage als “Einfügen vollständig deaktivieren” verstanden, aber das ist möglicherweise nicht das, was das OP will.

    – Piskvor verließ das Gebäude

    1. April 11 um 12:36 Uhr

  • Danke dafür – habe Keypress verwendet und konnte nicht herausfinden, warum es im IE nicht funktionierte

    – Addsy

    21. Juni 11 um 15:12 Uhr

  • @DannyLane: Auf verschiedenen Plattformen kann es unterschiedliche Tastenkombinationen für die Aktion “Einfügen” geben.

    – dma_k

    10. September 15 um 12:53 Uhr

Wie kann man das Einfugen StrgV mit jQuery deaktivieren
Steve Chan

Ab JQuery 1.7 möchten Sie möglicherweise stattdessen die Methode on verwenden

$(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;
});

Ich habe das in meinem Angular-Projekt ausprobiert und es hat ohne jQuery gut funktioniert.

<input type="text" ng-paste="preventPaste($event)">

Und im Skriptteil:

$scope.preventPaste = function(e){
   e.preventDefault();
   return false;
};

Verwenden Sie in einem nicht eckigen Projekt „onPaste“ anstelle von „ng-paste“ und „event“ anstelle von „$event“.

1643293267 631 Wie kann man das Einfugen StrgV mit jQuery deaktivieren
JoyGuru

Der folgende Code deaktiviert das Ausschneiden, Kopieren und Einfügen von der ganzen Seite.

$(document).ready(function () {
   $('body').bind('cut copy paste', function (e) {
      e.preventDefault();
   });
});

Das vollständige Tutorial und die funktionierende Demo finden Sie hier – Deaktivieren Sie Ausschneiden, Kopieren und Einfügen mit jQuery

1643293267 81 Wie kann man das Einfugen StrgV mit jQuery deaktivieren
Gtm

 $(document).ready(function(){
   $('#txtInput').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" id="txtInput" />

.

661410cookie-checkWie kann man das Einfügen (Strg+V) mit jQuery deaktivieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy