- 修改某个用ruby on rails做的网站时,有个奇怪的现象,点击某个按钮加载到另一个页面时,页面加载完成后,“加载中”这个提示一直存在。看了后台代码,最终确定到ajaxStop这块。
- 原代码
// #ajax-indicator 这种东西就是 “加载中”这个半透明的提示信息$('#ajax-indicator').bind('ajaxSend', function(event, xhr, settings) { if ($('.ajax-loading').length === 0 && settings.contentType != 'application/octet-stream') { $('#ajax-indicator').show(); }});$('#ajax-indicator').bind('ajaxStop', function() { $('#ajax-indicator').hide();});
- 问题:网站用的jquery是1.9+,在这个版本后,ajax全局事件需绑定到document对象上,才能触发。
- 修改后代码
$('#document').bind('ajaxSend', function(event, xhr, settings) { if ($('.ajax-loading').length === 0 && settings.contentType != 'application/octet-stream') { $('#ajax-indicator').show(); }});$('#document').bind('ajaxStop', function() { $('#ajax-indicator').hide();});