无法使用backspace删除n可编辑div中的元素 - Jquery

时间:2013-04-20 22:00:25

标签: html5 contenteditable

我得到了这个HTML

<div contenteditable="true"> Hey <a class="tgt" contenteditable="false">harry</a> great </div>

firefox时,我无法使用a.tgt删除backspace。在除firefox

之外的所有其他浏览器中删除

问题是什么?

2 个答案:

答案 0 :(得分:1)

这可能对某些人有所帮助。我遇到了同样的问题。

而不是:     <div contenteditable="true"> Hey <a class="tgt" contenteditable="false">harry</a> great </div>

你可以这样:     <div contenteditable="true"> Hey <a class="tgt" contenteditable="false">harry</a><span class="remove"></span> great </div>

您可以使用javascript(在这种情况下使用jquery)来检测.remove的删除并同时删除您的不可编辑的div:

// you can wrap this in an if statement and only execute in firefox
$('.remove').on("DOMNodeRemoved", function() { 
    $(this).prev(".tgt").remove();
});

希望这有帮助!

答案 1 :(得分:0)

尝试将<a> html打包到 span 标记中,其属性为 contenteditable = true

<div contenteditable="true"> Hey <a class="tgt" contenteditable="false"> <span contentEditable="true">harry</span></a> great</div>