微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

页面更改时是否有jQuery事件?

我是 Jquery的初学者,并试图习惯它.是否有任何事件可以绑定到页面以停止我的滑块计时器?

我想要做的是,当用户更改页面或转到另一个选项卡时,我想要抓住该事件.这个系统有没有事件或听众?

解决方法

我会使用onbeforeunload而不是卸载,以便给你最大的时间.但是,如果您计划此时向服务器发出请求(或异步执行任何操作),您可能会发现自己处于竞争状态,有时请求会通过,有时则不会.

发生这种情况是因为页面在卸载时停止处理您的请求(或其他异步操作).这几乎可以立即在现代浏览器中使用,并且在旧版IE中相当快.因此,在任何unload或beforeunload事件中执行某些操作很少有意义.

如果您尝试将计时器信息传递到下一个URL,则可能只需在单击时修改URL.

$('a').click(function(){ this.href=this.href + "#timer=" + timerVar; });

然后,当您到达下一页时,您可以从URL中读取最后一个值.

Google Analytics通过向所有链接添加延迟来解决此问题:

$('a').click(function(){
  var that = this;
  setTimeout(function(){
    window.location=that.href;
  },100); 
  return false;
});

这只会让您的页面有额外的时间来关注链接.虽然这并不是万无一失,但这对谷歌来说并不重要,因为分析有些短暂(并且他们也将url params用于其他更重要的事项(例如广告系列)).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐