有没有办法确定HTML标记的内容何时发生了变化?我宁愿抓住一个事件而不是轮询它。
我的用例是我在富文本编辑器中的span标记中包含了文本,我需要在用户修改封闭文本时删除span标记。
答案 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中的更改。只需在需要时调用该函数即使它只是轮询。