删除内容可编辑列表中的列表项会损坏我的 dom
Deleting a list item in a content editable list is causing damage to my dom
我的初始代码:
<div>
<ul id="UL1" contenteditable="true">
<li>Test</li>
</ul>
</div>
如果我删除列表项或通过创建回车键创建新的列表项,然后再次按回车键,列表将变得不可编辑,并且会破坏我的 DOM(通过 javascript 保存) :
<div>
</div><ul id="UL1">
<li>Test</li><li>Best</li></ul><p><br /></p><ul>
</ul><div>
</div>
为什么会发生这种情况,我该如何预防?
我已经使用以下方法解决了这个问题:
在点击事件中捕获被点击的列表项,使用Event.target。此事件 的目标是 列表项。我将其存储到一个变量中(即 myPackage.currentLI = e.target
)
向我的 OLs/ULs 添加一个按键侦听器并跟踪按键向上、向下和输入,并使用 .nextSibling
和 .previousSibling
[调整 myPackage.currentLI
在相同的关键侦听器中,检测条件(输入,从 LI 退格,没有内容)并在事件上调用 preventDefault
我的初始代码:
<div>
<ul id="UL1" contenteditable="true">
<li>Test</li>
</ul>
</div>
如果我删除列表项或通过创建回车键创建新的列表项,然后再次按回车键,列表将变得不可编辑,并且会破坏我的 DOM(通过 javascript 保存) :
<div>
</div><ul id="UL1">
<li>Test</li><li>Best</li></ul><p><br /></p><ul>
</ul><div>
</div>
为什么会发生这种情况,我该如何预防?
我已经使用以下方法解决了这个问题:
在点击事件中捕获被点击的列表项,使用Event.target。此事件 的目标是 列表项。我将其存储到一个变量中(即
myPackage.currentLI = e.target
)向我的 OLs/ULs 添加一个按键侦听器并跟踪按键向上、向下和输入,并使用
.nextSibling
和.previousSibling
[调整myPackage.currentLI
在相同的关键侦听器中,检测条件(输入,从 LI 退格,没有内容)并在事件上调用
preventDefault