Wenn der Benutzer eine contenteditable div
editiert und einige Tasten drückt, möchte ich die Standardverhalten. Zum Beispiel möchte ich einen normalen Zeilenumbruch einfügen, wenn der Benutzer die EINGABETASTE drückt. Dies ist der einzige Weg, die ich gefunden habe, so weit zu machen, diese Aktion undoable und wiederherstellbaren vom Benutzer ich, dass document.execCommand("insertText",...)
Internet Explorer Alternative zu document.execCommand ("insertText", ...), für Texteinfügung, die vom Benutzer rückgängig gemacht werden kann
verwenden.
<div id="editor" contenteditable="true" style="white-space:pre-wrap">
Some text....
</div>
<script>
$("#editor").keydown(function(evt){
console.log(evt.keyCode);
if(evt.keyCode==13){
document.execCommand("insertText",false,"\n");
evt.preventDefault();
evt.stopPropagation();
}
}
</script>
Dieser Code funktioniert gut auf Chrome und Firefox. Aber, dh "inserttext" wird nicht unterstützt. Würde es eine Möglichkeit geben, Text mit ie einzufügen, so dass der Benutzer rückgängig machen kann?
, welche Versionen von IE tun um dich kümmern? IE 11 verfügt über Befehle zum Starten/Beenden undoable-action, frühere Versionen jedoch nicht. –
@TimDown, jede Verbesserung im Vergleich zu meiner jetzigen Situation ist zu begrüßen :) Natürlich ist es besser, wenn es auch für alte Versionen funktioniert, dh ie11 ist besser als nichts. – Oli
@TimDown, bitte posten Sie Ihre Antwort. Es wäre sehr hilfreich. – Oli