我得到了这个HTML
<div contenteditable="true"> Hey <a class="tgt" contenteditable="false">harry</a> great </div>
在firefox
时,我无法使用a.tgt
删除backspace
。在除firefox
问题是什么?
答案 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>