Text nodes simply do not fire most events: historically, elements have been responsible for doing this in the HTML DOM. However, text nodes block some events (except IE <= 8): DOM mutation events . Especially useful for text nodes is DOMCharacterDataModified , which is used to detect text changes in node text and can be useful in browser-editors.
Example: http://www.jsfiddle.net/timdown/c6dHX/
HTML:
<div contenteditable="true" id="div">A text node, edit me</div>
JavaScript:
var textNode = document.getElementById("div").firstChild; textNode.addEventListener("DOMCharacterDataModified", function(evt) { alert("Text changed from '" + evt.prevValue + "' to '" + evt.newValue + "'"); }, false);
source share