有没有办法确定 HTML 标签的内容何时发生了变化?我宁愿捕捉一个事件而不是轮询它。
我的用例是我在富文本编辑器中的 span 标签中包含文本,当用户修改封闭文本时,我需要删除 span 标签。
有没有办法确定 HTML 标签的内容何时发生了变化?我宁愿捕捉一个事件而不是轮询它。
我的用例是我在富文本编辑器中的 span 标签中包含文本,当用户修改封闭文本时,我需要删除 span 标签。
您是否使用典型的所见即所得编辑器之一,并且不想更新他们的代码以破坏可更新性?然后,也许您可以收听 WYSIWYG 编辑器发送的 onTextChange 事件(或类似事件),检查更改的内容,然后对此做出反应。
只是一个想法,因为您在问题中提供的信息太少了。
我认为没有可用的事件(输入元素除外),但是您可以对其进行轮询。
$element = $('#my-element');
var originalHtml = $element.html();
var pollHtml = setInterval(function() {
if (originalHtml !== $element.html()) {
alert('HTML changed!');
clearInterval(pollHtml);
};
}, 100);
我无法添加评论,所以我在这里提出我的建议,
@贾斯汀约翰逊
$("#close-question-2114317").change(function() {alert(1);});
$("#close-question-2114317").text( function(){
$(this).trigger('change');
return "Close!!!";
});
如果是这样的话,我相信我们可以触发触发器......
您必须使用 JavaScript 以某种方式修改 DOM。在大多数情况下,轮询是一个坏主意。我在这里设置了一个演示,它可以让您很好地了解如何检查 HTML 是否有更改。只需在需要时调用该函数......即使它只是轮询。