我对我的服务器进行AJAX调用以读取文件并将值作为响应返回。如果请求成功,那么我将id <p>
的{{1}}元素中的innerHTML替换为响应值。现在,如果值已更改,我会尝试每次都发出警报。我尝试将一个事件添加到我的output
元素中,这样我就可以检测变量是否已更改并触发我的函数:
<p>
没有<p id="output"></p>
<script>
$("#output").change(function() {
alert("HELLO WORLD!");
});
</script>
出现。
答案 0 :(得分:3)
更改元素的文本/ HTML值不会引发事件。您需要手动触发一个。例如:
// in the $.ajax success handler:
$('#output').trigger('contentchanged');
// event handler
$("#output").on('contentchanged', function() {
alert("HELLO WORLD!");
});
您也可以使用Mutation Observer,但请注意旧版浏览器不支持它们,例如IE10及更低版本。
答案 1 :(得分:2)
根据您描述的逻辑,只有在ajax成功时才会更改内容。如果是这样,那么最简洁的解决方案就是,在你的ajax成功中,运行你期望在内容更改上运行的功能吗?