是否重新触发jQuery就绪事件?

41zrol4v  于 2022-12-03  发布在  jQuery
关注(0)|答案(4)|浏览(149)

我在页面上使用了jQuery $(document).ready()事件。一切正常,除了如果我使用 AJAX 调用加载数据,$(document).ready()事件不会触发。我猜它以这种方式运行是因为页面已经加载,我只是从Ajax响应向DOM添加更多数据。
如何重新引发ready事件?

nx7onnlm

nx7onnlm1#

如果需要执行一些附加的Javascript,可以使用一个在 AJAX 回调onComplete事件时调用的函数:

function initJS(){
    //your code here
}

$.ajax({
  url: 'ajax/test.html',
  success: function(data){
  },
  complete: function(){
        initJS();
  }
});
8fsztsew

8fsztsew2#

.load()、.bind()或.live()将成为您在此处的朋友....

8cdiaqws

8cdiaqws3#

只需要破坏“$(document).ready(function(){})”中的逻辑;“块到一个单独的函数中。然后页面在“就绪”时会调用它一次,当你想做刷新时可以直接调用那个函数。

xqk2d5yq

xqk2d5yq4#

我认为这个人问是因为大多数开发人员做jQuery插件,即WordPress插件使用“准备”功能。
这里的每个人都在说去修改插件吧!
我面临着同样的问题,因为我正在开发 AJAX 模板的wp和大多数插件不工作!

相关问题