Javascript jquery live函数未检测到ajax调用更改

Javascript jquery live函数未检测到ajax调用更改,javascript,ajax,jquery,dom,Javascript,Ajax,Jquery,Dom,有一些ajax调用在添加注释时修改DOM。 注释上还有一个delete选项,它是通过AJAX执行的。 在setInterval内调用函数将每隔半秒检查一次,因为 可以随时添加。 在执行AJAX以添加注释时,将调用该函数。 但删除注释时不会调用该函数。 删除元素后,变量“unreplied\u hide\u close\u btn”不会更新。 从我观察到的情况来看,删除注释的AJAX调用正在中止setInterval。 甚至livequery函数也不起作用。我还尝试了live、on、bind函数。

有一些ajax调用在添加注释时修改DOM。 注释上还有一个delete选项,它是通过AJAX执行的。 在setInterval内调用函数将每隔半秒检查一次,因为 可以随时添加。 在执行AJAX以添加注释时,将调用该函数。 但删除注释时不会调用该函数。 删除元素后,变量“unreplied\u hide\u close\u btn”不会更新。 从我观察到的情况来看,删除注释的AJAX调用正在中止setInterval。 甚至livequery函数也不起作用。我还尝试了live、on、bind函数。 我想知道是否有一种方法可以检查所有DOM更改,从而可以替代setInterval。 如果除了setInterval之外没有其他方法,请帮助我解释为什么删除便笺后没有调用函数hideClose

下面是删除注释的AJAX调用

jQuery(document).ready(function(){ 


        setInterval(function(){ 

            hideClose();  

        },500);

        jQuery('.commentbox').livequery(function(){

            hideClose();

        });

    });

您应该在AJAX删除请求中添加一个成功回调函数。当请求返回成功时,将调用该请求,并启动一个函数将其从DOM中删除


此外,我认为除了设置一个检查消息的间隔之外,您可能还需要考虑另一个选项。理想的做法是只在需要时运行函数,而不只是检查某个函数是否存在。

您使用的是哪个Jquery版本?我相信Jquery已经有了它。关于live queryI的函数。我也尝试了.on函数。setInterval是在ajax请求完成后不启动hideClose()函数的一种方式。由于ajax成功回调正在生产中,因此无法添加。但是,DOM事件可以在客户端处理,我们可以在客户端更新模板上的代码。除了听ajax的成功,还有其他方法吗?
jQuery(document).ready(function(){ 


        setInterval(function(){ 

            hideClose();  

        },500);

        jQuery('.commentbox').livequery(function(){

            hideClose();

        });

    });
<a class="red_links conv-action-icon conv-actions-delete tooltip" href="#" onclick="if (confirm('Remove this from the ticket conversation?')) { new Ajax.Request('/helpdesk/tickets/4/notes/1000313643', {asynchronous:true, evalScripts:true, method:'delete'}); }; return false;" data-original-title="Delete" twipsy-content-set="true">Delete</a>