【发布时间】:2013-01-23 16:30:24
【问题描述】:
在 contenteditable 中处理无序(或有序)列表让我很头疼。
每当我想通过按 ENTER 两次来结束编辑列表时,浏览器将关闭 <ul /> 但会插入一个 <p /> (Firefox) 或 <div /> (Chrome) 标签,其中包含<br />。
Example here
我的目标是避免使用多余的<p /> 或<div />,而只是关闭<ul />。
我试图修改Tim Down's 解决方案,这将阻止浏览器在按下 ENTER 时插入<p /> 或<div />,而是插入一个干净的<br /> 标签。
@ 987654323@
不幸的是,当使用该解决方案时,<ul /> 永远不会被浏览器关闭,因为只有<br /> 标记被插入内 <li /> 项目。
所以我的问题是:
如何在最后一个空的<li />上按回车时通过插入节点或粘贴html来主动关闭<ul />?
更新:如果问题还不清楚:我正在寻找一种方法来关闭 <ul /> 而不插入 <p /> 或 <div /> 标签但是只需插入一个好的旧普通 <br /> 代替
【问题讨论】:
-
你在期待什么?
<ul>是“关闭的”,由于存在; DOM 中没有未关闭的<ul>这样的东西。当您按两次 Enter 键时,您要求输入 beyond<ul>,并且该空白行必须位于某处,因此浏览器将其放入<p>。 -
我也偶然发现了这种行为,但我观察到使用 FF6 时没有输入额外的 p-tag - 它只发生在更新的 FF 版本中
标签: javascript jquery contenteditable