确定何时html标签的内容发生变化

时间:2010-01-22 01:23:14

标签: javascript jquery html events rich-text-editor

有没有办法确定HTML标记的内容何时发生了变化?我宁愿抓住一个事件而不是轮询它。

我的用例是我在富文本编辑器中的span标记中包含了文本,我需要在用户修改封闭文本时删除span标记。

4 个答案:

答案 0 :(得分:3)

您使用的是典型的WYSIWYG编辑器之一,并且不想更新其代码以打破可更新性?那么也许你可以听到WYSIWYG编辑器正在发送的onTextChange事件(或类似的东西),检查变化的内容,并对此作出反应。

只是一个想法,因为你在问题中提供的信息太少了。

答案 1 :(得分:0)

我认为没有可用的事件(输入元素除外),但可以轮询它。

$element = $('#my-element');

var originalHtml = $element.html();

var pollHtml = setInterval(function() {

    if (originalHtml !== $element.html()) {
        alert('HTML changed!'); 
        clearInterval(pollHtml);
    };

}, 100);

答案 2 :(得分:0)

我无法添加评论,所以我在这里提出我的建议,

@Justin Johnson

$("#close-question-2114317").change(function() {alert(1);}); 
$("#close-question-2114317").text( function(){
    $(this).trigger('change'); 
    return "Close!!!";
});

我相信如果是这样的话,我们可以调用触发器......

答案 3 :(得分:0)

您必须使用JavaScript以某种方式修改DOM。在大多数情况下,轮询是一个坏主意。我已经设置了一个演示here,可以让您了解如何检查HTML中的更改。只需在需要时调用该函数即使它只是轮询。