Bootlin logo

Elixir Cross Referencer

<body onload="setup()">
<p>cmd+b and cmd+i should generate a keydown event in contentEditable fields.  Also, calling
preventDefault() in the keydown event should cancel the text styling.</p>

<div contentEditable id="test" style="border: 1px solid; padding: 4px;">
This is some sample text.<br><br><br><br>
</div>
<div>
<input type="checkbox" id="disable"><label for="disable">preventDefault() in keydown</label>
</div>
<div id="log"></div>

<script>
function setup()
{
    var test = document.getElementById("test");
    test.addEventListener("keydown", keydown, false);

    var selection = window.getSelection();
    selection.setPosition(test, 0);
    selection.modify("extend", "forward", "sentence");
    test.focus();
}

function log(msg)
{
    var log = document.getElementById("log");
    log.innerHTML += "<br>" + msg;
}

function keydown(event)
{
    log("keydown");
    if (document.getElementById("disable").checked)
        event.preventDefault();
}
</script>
</body>