window.onbeforeunload = function (e) {
someFunction();
}显然,只要有页面刷新,就会调用someFunction()。但在internet Explorer中,只有当有部分页面加载时,才会调用someFunction()。我如何才能防止这种情况发生?或者,我如何添加一个带有jQuery的事件侦听器,该侦听器在进行异步调用时触发?
发布于 2012-04-24 07:21:19
您可以绑定到任何数量的它们。有关列表,请参阅http://api.jquery.com/category/ajax/。
例如,使用$.ajaxSetup(),我可以设置一个函数在每个请求之前运行:
$.ajaxSetup({
beforeSend: function() {
console.log( 'New request going out.' )
}
});您可能还希望在调用完成后运行逻辑,在这种情况下,您可以将函数应用于传递给$.ajaxSetup()的对象的complete成员
$.ajaxSetup({
complete: function() {
console.log( 'Call completed.' );
}
});这些方法有几个参数,如果您执行的逻辑需要知道哪些请求是明确发出的,则可能需要使用这些参数。例如,Complete将传递给jQuery使用的XHR对象,以及调用返回的状态。
$.ajaxSetup({
complete: function( jqHXR, status ) {
console.log( 'Completed: ' + status );
}
});https://stackoverflow.com/questions/10289561
复制相似问题