我有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();
}
});
答案 0 :(得分:1)
是的,有一个“突出”命令。我已更新了您的fiddle。请注意,不同的浏览器对contentEditable
有不同的支持。在Chrome中,默认情况下退格会超出您的contentEditable
,而在IE中则不会。