使用jQuery,有没有办法document.ready
在页面加载后的某个时刻重新触发触发器?
更新:jQuery一旦运行就会脱掉它们.在我的实验中,看起来jQuery会在触发().ready
初始ready
事件后遇到回调时立即运行回调.
如果您只需确保运行新的初始化函数,则无需执行任何操作.当您$().ready
在文档完成加载后添加新的事件处理程序时,它将立即运行.
显然,$().trigger("ready")
直接调用不起作用,因为jQuery在运行它们之后重置ready事件处理程序.您需要跟踪需要呼叫的功能,并直接调用它们,如下所示.
当然,直接调用函数可能会更好,所以你不要重新运行你不想要的东西(某些插件可能有自己的$().ready()函数,他们不期望跑两次).
$().ready(initializationFunction); // later: initializationFunction(jQuery);
你可以这样做:
$(document).on('ready readyAgain', function() { // do stuff }); // At some other point in time, just trigger readyAgain $(document).trigger('readyAgain');
$(document).on('ready')
已根据文档在jQuery 1.8中弃用.另一种方法如下:
function myReadyFunction(){} $(myReadyFunction); // at some other point, just call your function whenever needed: myReadyFunction($);