Javascript :: Wie zu erkennen, was das Zeichen (oder String) auf einem bearbeitbaren div eingeführt wurde?

StackOverflow https://stackoverflow.com/questions/3419644

Frage

Ich möchte wissen, wie zu erkennen, was der Charakter auf einem div editierbare eingefügt ... Ich möchte sehen, ob der Benutzer eine einfache oder doppelte Anführungszeichen eingeben und eine bestimmte Klasse zu diesem Zitat auf den Text nach dem Zitat geben ... Ich denke, das ist ein onkey Eigentum oder Rückkehr ... ich weiß nicht ...

Wer hat einen Tipp?

War es hilfreich?

Lösung

Das keypress Ereignis ist, was Sie wollen, denn das ist das einzige Ereignis ist, von dem Sie Informationen über den Charakter sammeln können getippt. Sie könnten die keypress selbst im Fall eines Zitats behandeln. Der Code, um einen <span> mit einer CSS-Klasse wird hier nicht behandelt. Ich würde eine andere Frage empfiehlt zu fragen, ob Sie Hilfe benötigen, oder vielleicht eine Dokumentation zu lesen auf DOM Ranges TextRanges und Auswahl in IE und anderer Browser .

function handleKeypress(evt) {
    evt = evt || window.event;
    var charCode = evt.which || evt.keyCode;
    var charStr = String.fromCharCode(charCode);
    if (charStr == "'" || charStr == '"') {
        // Code to insert quote character followed by <span> with CSS class
        // goes here.

        // Prevent the default action
        if (evt.preventDefault) {
            evt.preventDefault();
        } else {
            evt.returnValue = false;
        }
    }
}

var div = document.getElementById("your_div");
if (div.addEventListener) {
    div.addEventListener("keypress", handleKeypress, false);
} else if (div.attachEvent) {
    div.attachEvent("onkeypress", handleKeypress);
}

Andere Tipps

Ich bin nicht sicher, verstehe ich völlig, was Sie versuchen zu tun, aber es scheint, dass Sie Capture-Benutzereingaben in ein div mit dem Attribut contentEditable möchten. Wenn ich mit Mootools und Mehr Informationen über Mootools Events

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top