Javascript :: Comment identifier ce que le caractère (ou une chaîne) a été inséré sur un div modifiable?

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

Question

Je veux savoir comment identifier ce que le caractère inséré sur une éditable div ... Je veux voir si l'utilisateur tapez un guillemet simple ou double, et donner une classe spécifique à cette citation au texte après la citation ... Je pense que c'est une propriété onkey ou le retour ... Je ne sais pas ...

Tout le monde a une astuce?

Était-ce utile?

La solution

L'événement keypress est ce que vous voulez, puisque c'est le seul événement à partir duquel vous pouvez recueillir des informations sur le caractère tapé. Vous pouvez gérer la pression de touche vous-même dans le cas d'une citation. Le code à insérer un <span> avec une classe CSS ne sont pas couverts ici. Je vous suggère de poser une autre question si vous avez besoin d'aide, ou peut-être lire la documentation sur DOM Ranges , TextRanges et selections dans IE et d'autres navigateurs .

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

Autres conseils

Je ne sais pas, je comprends tout à fait ce que vous essayez de faire, mais il semble que vous souhaitez capturer l'entrée de l'utilisateur dans un div avec l'attribut contentEditable. Si j'utilisais Mootools et Plus d'informations sur Mootools Events

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top