Die Beschränkung gibt keypress Ereignis in einem IFrame, funktioniert nicht
-
19-09-2019 - |
Frage
Ich habe einen IFrame innerhalb meiner Seite und die designmode bin mit = „on“ auf dieser iframe für eine kleine Ebene Rich-Text-Bearbeitung.
Meine Sorge ist, dass ich nicht der Benutzer neue Linien erlauben müssen in sie eindringen - das heißt, ich möchte Schlüssel beschränken eingeben
.Ich habe es die Frage hier gepostet mit zum keypress hören Veranstaltungen. Aber in meinem keypress Fall, wenn I return false , passiert nichts.
Wie beschränke ich Tasten in Iframe mit Designmode eingeben?
Code:
document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true);
function restrictEnterKey(event) {
var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0));
if (key == 13) {
//alert('me');
return false;
}
return true;
}
Lösung
Sie müssen preventDefault
auf das Ereignis nennen oder einen Satz returnValue
für IE false
. Die folgende Funktion wird die Arbeit tun:
function preventDefault(evt) {
if (evt.preventDefault) {
evt.preventDefault();
} else if (typeof evt.returnValue !== "undefined") {
evt.returnValue = false;
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow