$(document).on('visibilitychange', function (e) { if (e.target.visibilityState === "visible") { console.log('Tab is now in view!'); } else if (e.target.visibilityState === "hidden") { console.log('Tab is now hidden!'); } });
Ajax 调用错误处理
当一个 Ajax 调用返回 404 或 500 错误时,错误处理程序将被执行。若错误处理未被定义,其它 jQuery 代码可能不再有效。所以定义一个全局的 Ajax 错误处理:
$(document).ajaxError(function (e, xhr, settings, error) { console.log(error); });
链式插件调用
jQuery 允许通过“链式”插件调用的方法,来缓解反复查询 DOM 和创建多个 jQuery 对象的过程。例如,下面的代码代表着你的插件调用:
$('#elem').show(); $('#elem').html('bla'); $('#elem').otherStuff();
通过使用链式操作,有了显著的改善:
$('#elem') .show() .html('bla') .otherStuff();
另一种方法是在变量(以 $ 为前缀)中,对元素进行缓存:
var $elem = $('#elem'); $elem.hide(); $elem.html('bla'); $elem.otherStuff();
无论是链式操作,还是缓存元素,都是 jQuery 中用以简化和优化代码的最佳实践。
您可能感兴趣的文章: