javascript verhindern, kopieren/einfügen über Zeichen in textarea
Habe ich den folgenden code (gezogen von diese Frage) für die Einstellung der Zeichen-Grenze auf Texteingabefelder.
function maxLength(el) {
if (!("maxLength" in el)) {
var max = el.attributes.maxLength.value;
el.onkeypress = function () {
if (this.value.length >= max) return false;
};
}
}
var maxtext = document.getElementsByClassName("maxtext");
for (var i = 0; i < maxtext.length; i++) {
maxLength(maxtext[i]);
}
Und ein Beispiel meiner html für Texteingabefelder:
<textarea maxlength="150" class="maxtext"></textarea>
Dies alles funktioniert Prima in Firefox und Chrome. Im IE7+, es wird mich aufhalten, wenn ich die Art bis an die Grenze, aber ich bin dann in der Lage, kopieren/einfügen von text ohne Einschränkung.
Irgendeiner Weise zu ändern Sie dieses Skript, um zu verhindern, kopieren/einfügen über die max-Zeichen-limit?
- Sieht aus wie ein Duplikat von stackoverflow.com/questions/2190420/...
- mögliche Duplikate von Maxlength für text-Bereich funktioniert nicht im IE. Hat auch einen link in die Antwort auf eine JavaScript-Lösung. IE7+, werden Sie nicht aufhören Eingabe mehr als die angegebenen Zeichen, die standardmäßig als
maxlength
ist ein HTML5-standard ist, nur unterstützt von IE10+. - Nicht wirklich. Sie kann nur erkennen, dass etwas eingefügt worden ist, und kürzen Sie diese, wenn nötig. Siehe MediaWiki
byteLimit
jQuery-plugion zum Beispiel
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hören für die
onpaste
Veranstaltung. Sobald das Ereignis ausgelöst wird, erfassen Sie den text aus der Zwischenablage und es Bearbeiten, wie Sie möchten.HTML
JAVASCRIPT
BEISPIEL
maxlength
Eigenschaft beim einfügen in ein Textfeld. Die obige Frage war, dass IE7+ war es nicht. Sie sollten nicht zu hören braucht für dieonpaste
Fall für Chrome. Führen Sie dieses Beispiel in Chrome: jsfiddle.net/4d0o2u1x sollten Sie feststellen, dass diemaxlength
Attribut tatsächlich funktioniert, wie man es erwarten würde.<div>
mit dem Attributcontenteditable="true"
. In meinem Fall funktioniert es nur, wenn ich fügen Sie mehr text ein, und drücken Sie dann "Strg" wieder. Andere weisen, die ich einfügen können und senden den längeren text. Wer hat die Idee?Man konnte hören, die
onchange
event um den Inhalt zu überprüfen Länge, wenn den Grenzwert überschreitet, dann subtrahieren.