JQuery 没有检测到 div 的更改

标签 jquery ckeditor

我正在尝试计算 <img> 的数量每当更新 div 时,都会在 div 中添加标签。 HTML 很简单:

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

每当 div 的内容发生更改时,我希望 JQuery 计算 div 中的图像数量。所以我写了这个:

$(document).on('change', '#Description', function(e) {
    var filenumber = $('#Description img').length;
    alert(filenumber);
});

问题是什么也没发生。当我在 div 中输入内容或插入图像时,我没有收到警报。我是否忽略了一些简单的事情?我使用 CKEditor 作为 div 的富文本编辑器,但我不认为这是问题,但我不是专家。

这里有一个 JSFiddle 来演示该问题 http://jsfiddle.net/jLnLmspn/1/

最佳答案

尝试输入<img>#Description

$('#Description').on("keyup keydown", function(e) {
    var html = $.parseHTML(e.target.textContent)
    , filtered = $(html).filter("img")
    , imgs = filtered.is("*") 
             ? filtered.length + " images found" 
             : "0 images found";
    console.log(imgs);              
});
#Description {
height: 500px;
    width: 300px;
    border: 1px solid #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="Description" contenteditable="true"></div>

关于JQuery 没有检测到 div 的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28532479/

相关文章:

jquery - 我的 HTML5 Canvas 代码可以转换为 SVG 吗?

javascript - 重新加载页面后在默认 <li> 下创建第二个或下一个 <li> | jQuery、本地存储

javascript - 如何使用HTML数据属性返回对象数据?

image - 如何在CKEditor图像中添加标题属性

jquery - CKEditor 内嵌在模态 Bootstrap 窗口中

CckEditor 使用 <b> 标签代替 <strong>

php - JavaScript 对象到 Json。 PHP 无法解码序列化 JSON

javascript - 如何将 html 实体与 jQuery 进行比较

javascript - CKEditor自动去除style属性,添加xss属性 'Removed'

javascript - 如何接收上传图片的 URL 并将其传递给 CK Editor 中的 "src"属性?