Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

var count = 0;
function onLoad() {
// For emulating the traditional behavior, collapse Selection to end of the
// text node in the <s> which is the deepest last child (and a container) of
// the <body> (i.e., end of the the text node after the last comment node).
const s = document.querySelector("s");
getSelection().collapse(s.lastChild, s.lastChild.length);
function onInputOrDOMNodeInserted() {
if (++count >= 3) {
addEventListener("DOMNodeInserted", onInputOrDOMNodeInserted);
document.execCommand("insertText", false, "1");
<body onload="onLoad()">
<ol oninput="onInputOrDOMNodeInserted()" contenteditable>
<!-- x -->
<!-- x -->