javascript execCommand(';delete';)不会删除chrome中的所有选择div

javascript execCommand(';delete';)不会删除chrome中的所有选择div,javascript,google-chrome,contenteditable,rangy,execcommand,Javascript,Google Chrome,Contenteditable,Rangy,Execcommand,我尝试使用contenteditable&execCommand编写编辑器 在Firefox上一切正常,但在chrome中,delete命令有一个错误 请查看以下照片: 这是我的代码: var $obj = $('#myBlockDivId'); var selection = rangy.getSelection(); if (selection.rangeCount > 0) selection.removeAllRanges(); var range = rangy.createR

我尝试使用contenteditable&execCommand编写编辑器 在Firefox上一切正常,但在chrome中,delete命令有一个错误

请查看以下照片:

这是我的代码:

var $obj = $('#myBlockDivId');
var selection = rangy.getSelection();
if (selection.rangeCount > 0) selection.removeAllRanges();
var range = rangy.createRange();
range.selectNode($obj[0]);
selection.addRange(range);
range.select();
当我输入控制台日志时:rangy.getSelection().toHtml()=>它是正确的

但当我打电话时:

document.execCommand("delete", null, false);
在Firefox上没有问题,但在Chrome上没有问题,包装器div没有被删除

我怎样才能解决这个问题?我必须使用execCommand,因为它支持撤消和重做功能。所以,我不能使用jquery或javascript dom选择器来删除div

(我英语不好,请有人编辑我的问题以便更清楚,非常感谢)

试试:

document.execCommand("delete", false, null);
而不是:

document.execCommand("delete", null, false);

也许你可以试着做:
(仅注意论点)


在此处选择一些内容,然后单击“删除”。

正如您所说,我已经尽我所能尝试了一切,并且我尝试了document.execCommand(“insertHtml”,false,

”)来覆盖旧内容,但没有OK。您可以发布一个不工作代码的示例吗?错误是什么?如果没有代码示例(特别是HTML),所有答案都是猜测。请注意,有一个使用堆栈片段的答案。请使用相同的方法,编辑您的问题以包括HTML和JavaScript。