如果我发出AJAX请求并想要调用$(document).ready()
设置的所有函数。我该怎么做?谢谢
答案 0 :(得分:6)
$(document).ready();
如果这不起作用,请尝试:
function startup() {
// All your functions in here.
}
$(document).ready(startup);
在您的AJAX请求完成后:
startup();
答案 1 :(得分:3)
最简单的方法是使用共享功能:
$(document).ready(function() {
setup();
});
$.post('/', {}, function() {
setup();
}, 'json');
但如果您正在使用它来重新分配监听器,那么您可能可以在创建之前将它们分配给,如下所示:
$(document).ready(function() {
$(document).delegate('.my-button', 'click', function() { });
});
使用此代码,所有.my-button
点击都将由您的自定义函数处理,无论DOMReady上DOM中是否存在该按钮。
请注意:
$(document).ready(function() { ... });
可以最小化为$(function() { ... });
.on
优先于.delegate
:$(document).on('click', .my-button', function() { });
$('#close-parent').delegate
超过$(document).delegate
答案 2 :(得分:0)
不是手动触发document.ready(这可能是不好的习惯恕我直言),而是创建一个名为setup
的函数,它设置所有的侦听器等,并在需要重新应用等事情时调用此函数