Contenteditable:添加div而不是br

时间:2016-12-01 01:11:41

标签: jquery html css contenteditable

我启用了contenteditable的div。当按下回车键时,它会插入br或当所有内容都被清空时(通过删除里面的内容),它也会插入br

有没有办法控制在任何一种情况下插入的内容?例如,我想在按下回车键时插入一个div。此外,当我删除内部的所有内容时,我想要包含一个div(它更像是占位符)。

对于第二部分(即:像占位符一样的div),我知道我可以使用如下的css:

div.example[contenteditable]:empty::before {
  content: "Acts like a placeholder";
}

但似乎当我删除里面的所有内容时,br被插入,我无法摆脱它。

希望我很清楚。无论如何,任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过检查内容长度来处理Enter键事件并在插入或删除时包含div

检查以下代码段



$(document).ready(function() {

});

jQuery('#editDiv').on("keypress", function(e) {

  if (e.keyCode == 13) {
    $(this).append("<div>new div</div>")
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div contenteditable="true" id="editDiv">
  hello
</div>
&#13;
&#13;
&#13;

您也可以查看此链接 Jquery Event : Detect changes to the html/text of a div

希望有所帮助