Javascript 重新运行$(document.ready())

Javascript 重新运行$(document.ready()),javascript,jquery,ajax,Javascript,Jquery,Ajax,我在绑定$(document).ready()的不同页面上有许多不同的函数。我正在编写一个Ajax登录脚本,希望能够刷新页面状态,以反映已更改的登录状态,而无需重新加载整个页面。我希望有一个很好的简单的方法来做这件事,这样我就不会重组我所有的其他脚本 有什么想法吗?在一个单独的函数中编写代码,并从所有需要的地方调用 $(document).ready(function(){ ///call some function }); 您可以在ajaxsuccess上使用相同的函数在单独的函数中

我在绑定$(document).ready()的不同页面上有许多不同的函数。我正在编写一个Ajax登录脚本,希望能够刷新页面状态,以反映已更改的登录状态,而无需重新加载整个页面。我希望有一个很好的简单的方法来做这件事,这样我就不会重组我所有的其他脚本


有什么想法吗?

在一个单独的函数中编写代码,并从所有需要的地方调用

$(document).ready(function(){
   ///call some function 
});

您可以在ajaxsuccess上使用相同的函数

在单独的函数中编写代码,并从您需要的所有位置调用

$(document).ready(function(){
   ///call some function 
});

您可以在ajax成功上使用相同的功能

您可以这样做:

$(document).on('ready readyAgain', function() {
    // do stuff
});

// At some other point in time, just trigger readyAgain
$(document).trigger('readyAgain');
注: 根据,jQuery 1.8中已弃用('ready')$(document).on('ready')。另一种方法如下:

function myReadyFunction(){}
$(myReadyFunction);

// at some other point, just call your function whenever needed:
myReadyFunction($);

您可以这样做:

$(document).on('ready readyAgain', function() {
    // do stuff
});

// At some other point in time, just trigger readyAgain
$(document).trigger('readyAgain');
注: 根据,jQuery 1.8中已弃用('ready')$(document).on('ready')。另一种方法如下:

function myReadyFunction(){}
$(myReadyFunction);

// at some other point, just call your function whenever needed:
myReadyFunction($);

无法重新运行
document.ready
,因为每个文档只触发一次。如果您需要此行为,您应该创建一个单独的函数,您可以在
document.ready
上调用该函数,然后在以后的任何时候再次调用该函数以重置页面的状态。您不能重新运行
document.ready
,因为每个文档只触发一次。如果您需要这种行为,您应该创建一个单独的函数,您可以在
document.ready
上调用该函数,然后在以后的任何时候再次调用该函数来重置页面的状态。这是一个很好的最小化更改的主意。您可以执行
$(document).ready(函数(){$(document).trigger('readyAgain');})
,然后执行
$(document).on(“readyAgain”,…)以避免弃用位。我不想直接在答案中编辑这么大的改动,但是请随意。这是个好主意。您可以执行
$(document).ready(函数(){$(document).trigger('readyAgain');})
,然后执行
$(document).on(“readyAgain”,…)以避免弃用位。我不想直接在答案中编辑这么大的更改,但是请放心。这当然是正确的方法(尽管根据OP的描述,它比上面显示的更复杂)。有很多不同的地方将不同的代码绑定到
ready
,这可能是一个比OP想要的更大的变化。当然,这是正确的方法(尽管OP描述的内容比上面显示的更复杂)。由于有很多不同的地方将不同的代码绑定到
ready
,这可能是一个比OP所期望的更大的变化。