contenteditable div“outdent”?

时间:2014-01-21 16:33:51

标签: javascript jquery html contenteditable

我有contenteditable div并使用execCommand("indent")作为标签键。我发现它将选项卡式文本包装在blockquote元素中,当我点击 backspace 时,它不会删除blockquote,但它只会转到上一行。是否有某种“outdent”命令可用于删除blockquote元素? (JSFiddle;注意:我还发现,当我点击输入时,它只会将以下文本包含在div标记中。这可以避免吗?我宁愿拥有它添加<br>元素,但没有浏览器支持insertBrOnReturn命令。)

非常感谢任何帮助。

HTML

<div class="myClass"></div>

的Javascript

$(".myClass").prop("contenteditable", true);

$(".myClass").on("keydown", function(e) {
    var keyCode = e.keyCode || e.which;
    if( keyCode === 9 ) {
        document.execCommand("indent", true, null);
        e.preventDefault();
    }
});

1 个答案:

答案 0 :(得分:1)

是的,有一个“突出”命令。我已更新了您的fiddle。请注意,不同的浏览器对contentEditable有不同的支持。在Chrome中,默认情况下退格会超出您的contentEditable,而在IE中则不会。