ein Ereignis auslösen, wenn contenteditable geändert wird
Wenn ein divs Wert geändert wird, wie Kann ich ein Ereignis auslösen?
<div class="changeable" contenteditable="true"> Click this div to edit it <div>
Also, wenn Ihr Inhalt ändert sich, ich möchte, um eine Benachrichtigung zu erstellen und/oder andere Dinge zu tun:
$('.changeable').text().change(function() {
alert('Handler for .change() called.');
});
InformationsquelleAutor der Frage johnmosly | 2011-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur speichern Sie den Inhalt in eine variable und prüfen, ob es andere nach
blur()
Veranstaltung. Wenn es anders ist, speichern Sie den neuen Inhalt.Beispiel: http://jsfiddle.net/niklasvh/a4QNB/
InformationsquelleAutor der Antwort Niklas
Können Sie einfach verwenden, focus/blur-Ereignis mit data () - Funktion von jQuery :
UPDATE: Mit Vanilla JS
InformationsquelleAutor der Antwort Bruno Lesieur
Baute ich ein jQuery-plugin, um dies zu tun.
Rufen Sie einfach an
$('.wysiwyg').wysiwygEvt();
Können Sie auch entfernen /hinzufügen von events wenn Sie es wünschen
InformationsquelleAutor der Antwort Blowsie
Es ist einfacher, es zu tun mit EventListener (keine jQuery-Methode):
InformationsquelleAutor der Antwort VasG
Dies ist mein Ansatz...
InformationsquelleAutor der Antwort Marcel Barraza
die beste Lösung für dieses Problem ist derzeit die HTML5 input-Veranstaltung
<div contenteditable="true" id="content"></div>
in Ihre jquery.
InformationsquelleAutor der Antwort Canaan Etai
Hier ist ein jquery-version:
Ausprobieren.
InformationsquelleAutor der Antwort Sven
In chrome und vielleicht auch in anderen Browsern gibt es Fehler, wenn der Benutzer tab drückt wird es schaffen Sie Platz und hängen Sie apple-Spanne oder irgendeine Sache, wie das.. entfernen Sie den Benutzer
Dadurch entfernen Sie die span..
es gleiche wie oben-code nur geändert hat sich wenig, oder u hinzufügen können
und das wird auch zu lösen problem ..
http://jsfiddle.net/a4QNB/312/
Gerade geändert @Nikals Antwort ...
InformationsquelleAutor der Antwort nikunjM
Noch eine andere version in jquery. Blick in jsFiddle hier.
InformationsquelleAutor der Antwort dcapelo
Andere Lösung, die leicht modifizierte version des vorherigen, aber es kann sein, mehr komfortabel zu bedienen für einige von Euch.
Idee ist, zu speichern, Herkunft, Wert und vergleichen Sie ihn mit dem aktuellen Wert in der "blur" - Ereignis. Ich Spare Herkunft Wert als Attribut eines editierbaren div-tag (anstatt variable für die Herkunft Wert). Mit dem Attribut container für origin Wert ist bequemer, wenn man eine riesige Anzahl von bearbeitbaren divs in Tabelle (als Zellen). So ist es leicht zu bekommen, Wert Herkunft da brauchen Sie nicht zu viele Variablen.
Sehen meine komplette Beispiel-code:
editierbaren div -
Feststellung der Veränderungen in der Unschärfe
InformationsquelleAutor der Antwort Bronek