我有一个需要在页面加载后以及在 ajax 事件上运行的函数,因为我的大部分网站都是使用 c#/asp.net/mvc4(我仍然很新)通过 ajax 异步加载的 Ajax.ActionLink和局部视图。
有谁知道我如何在这两个事件上触发此功能?我目前必须复制该函数两次,一次在 ajax.success 上,然后再次在 doc.ready 上
谢谢,
标记
我有一个需要在页面加载后以及在 ajax 事件上运行的函数,因为我的大部分网站都是使用 c#/asp.net/mvc4(我仍然很新)通过 ajax 异步加载的 Ajax.ActionLink和局部视图。
有谁知道我如何在这两个事件上触发此功能?我目前必须复制该函数两次,一次在 ajax.success 上,然后再次在 doc.ready 上
谢谢,
标记
您可以通过创建一个封装您需要执行的逻辑的对象来保持 DRY,然后在适当的时候调用它。
// don't pollute the global namespace
var MyApplication = {
theLogic: function() {
alert('performing logic');
}
};
// document ready/page loaded
$(function() {
MyApplication.theLogic();
});
// after ajax calls
$.ajax({
...
success: function() { MyApplication.theLogic(); }
});
您可以通过使用来解决等待页面加载的第一个问题
jQuery
$(function() {
//This will be be run once DOM is initialized
});
或使用 onload
document.body.onload = function () {
//Fired when DOM is loaded
}
从那里您可以使用 AJAX 调用调用您的 AJAX 调用或函数,如下所示:
$(function () {
$.ajax({
url : "",
success : function () {...}
});
});