【问题标题】:Pressing enter key on Ordered/Unordered list adds <br> after each <li> element在有序/无序列表上按回车键会在每个 <li> 元素后添加 <br>
【发布时间】:2013-10-17 07:57:57
【问题描述】:

我正在使用带有一些文本格式的 contentEditable 元素。但是通过使用有序或无序列表项,chrome 和 firefox 每次我在第一个 &lt;li&gt; 之后按 enter 时都会添加 &lt;br&gt;。 生成的 html 文本如下所示:

Hello
    <ul>
      <li>World<br></li>
      <li>the great<br></li>
      <li> <br></li>
    </ul>

如何删除添加到每个 li 标签的离网&lt;br&gt; 标签?是否可以使用 CSS 或仅使用 javascript 来做到这一点?

【问题讨论】:

  • 如何将 div 的内容添加到列表中?天真地,我只想说不要添加 br 元素 - 而不是在事后尝试删除它们。
  • 我正在使用启用了文本格式的 contentEditable div。因此,当我在编辑器上写作并开始使用无序列表时,例如插入符号会在 li 下方导航,因为添加了
    。我想以某种方式删除
    元素。
  • 很酷,这回答了您使用什么来接收文本输入的(未提出的)问题。我(我)试图找出的是你如何从(a)源元素的内容(内容可编辑的 div,启用文本格式)到(b)html 列表。发生了哪些/什么操作将用户的输入变成了&lt;li&gt; 元素?
  • 我不确定这是否有帮助,但我可以在编辑器中编写纯文本,但我通过调用一些 javascript 函数获得 HTML 格式,例如 alert($("#contenteditor").html() );通过检查 this 的输出,我了解到在每个
  • 之后添加了一个
  • 此示例 (html5demos.com/contenteditable) 显示了一个具有 content-editable='true' 的 &lt;section&gt; 标记。它有一个标题、一个段落和一个有序列表。您可以将项目添加到列表或编辑其他两个。似乎没有将 &lt;br&gt; 元素添加到标记中。这对你有帮助吗?
  • 标签: javascript css list contenteditable


    【解决方案1】:

    使用 CSS :

    ul li br {
      display: none;
    }
    

    【讨论】:

      【解决方案2】:

      按回车的默认动作不会生成&lt;br&gt;,见http://jsfiddle.net/fudesign2008/2As6J/。 你项目的js代码有没有bug。

      【讨论】:

      • 是的,谢谢。我的代码中有一个错误,修复后它现在可以工作了。不再为有序/无序列表添加
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签