页面更改时是否有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用于其他更重要的事项(例如广告系列)).

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...