javascript - jQuery - 检测 contenteditable div 内的元素删除

标签 javascript jquery html contenteditable

我的 contenteditable <div> 中有一个输入元素,示例代码:

<div class="ucclass" contenteditable="true">
   <input id="abc" class="js_xxx">
</div>

我有一段代码,用于将具有自动生成的 id 的输入粘贴到 <div> 中。

删除时如何获取输入id?

任何帮助将不胜感激。

最佳答案

您可以使用MutationObserver为了达成这个。要跟踪从 contenteditable 元素中删除的任何类型的节点,请观察以下示例

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {

        //console.log($(mutation.removedNodes)); // <<-- includes text nodes as well

        $(mutation.removedNodes).each(function(value, index) {
            if(this.nodeType === 1) {
                console.log(this.id) // abc
            }
        });
    });
});

var config = { attributes: true, childList: true, characterData: true };

observer.observe($('.ucclass')[0], config);

JSFiddle Link

关于javascript - jQuery - 检测 contenteditable div 内的元素删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30104852/

相关文章:

html - 输入router-outlet后css发生变化

javascript - 无法使用 jQuery 显示菜单中的内容文本

javascript - 在主干中更改 url

jquery - 在 JSP 中向表单添加弹出窗口

javascript - 如何创建带有两个 div 的列,其中一个固定在第二个上方,滚动时隐藏在第一个后面?

html - 如何省略样式表以将样式应用于其他网页

javascript - 在圆上做旋转渐变?

javascript - grails 标签库需要包含 javascript

javascript - 动态创建带分页的 HTML 表格

html - 显示剪切的标题文本