如果我发起一个AJAX请求并且想要调用所有通过
$(document).ready()
设置的函数,我该怎么做?谢谢。$(document).ready()
设置的函数,我该怎么做?谢谢。$(document).ready();
function startup() {
// All your functions in here.
}
$(document).ready(startup);
startup();
$(document).ready(function() {
setup();
});
$.post('/', {}, function() {
setup();
}, 'json');
但是如果您正在使用它来重新分配监听器,您可能可以在创建它们之前分配它们,就像这样:
$(document).ready(function() {
$(document).delegate('.my-button', 'click', function() { });
});
.my-button
点击事件将由您的自定义函数处理,无论该按钮是否存在于DOMReady中。$(document).ready(function() { ... });
可以缩小为 $(function() { ... });
.on
而不是.delegate
: $(document).on('click', .my-button', function() { });
$('#close-parent').delegate
而不是$(document).delegate
不要手动触发 document.ready(在我看来这是不好的实践),而是创建一个名为 setup
的函数,该函数设置所有监听器等,并在需要重新应用内容时调用此函数。
startup
的引用传递给ready
。目前你正在传递startup
的返回值。 - James Allardice