如何在不影响父元素的情况下设置子元素的内容可编辑属性?



我在内容可编辑的 DIV 中遇到了这个奇怪的问题,我有一个父div,其内容可编辑属性设置为 true,在按钮单击事件中,我正在尝试将带有contenteditable='false'的div 附加到此父div。问题是,当我这样做时,父元素变得不可编辑。(孩子没有问题 - 当然,这是不可编辑的(。我在网上搜索并试图解决这个问题,但仍然不知道问题到底是什么。

这是我的代码:

目录:

<div id="parent" contenteditable="true"></div>

jQuery(点击按钮(:

$("#parent").append
(
"<div style="position: relative; display: block;" contenteditable="false">" +
"<img src="..."/>" +
"</div>"
);

当执行上面的 jQuery 代码时,#parentdiv 变得不可编辑,比如(contenteditable = false(。为什么?这段代码有问题吗?有没有其他方法可以防止孩子影响父母?

我读过很多文章,说这是使内容可编辑的div的孩子不可编辑的正确方法,即使不阅读它们,我也知道这一点。我有很多处理内容可编辑元素的经验,这是我第一次遇到这个问题。

(此代码目前仅在 Firefox 上测试,因为它是我的目标主要浏览器,但没有理由此代码在其他浏览器上的行为会有所不同(。

非常感谢您阅读这个问题,任何有用的想法都将不胜感激并投赞成票。谢谢。

$("#parent > div").prop("contenteditable", "false");

将其用于选择子div

最新更新