我是Jquery的初学者,并试图习惯它。是否有任何事件可以绑定到页面以停止我的滑块计时器?
我想要做的是,当用户更改页面或转到另一个标签页时,我想要抓住该事件。该系统是否有任何事件或监听器?
答案 0 :(得分:2)
我会使用onbeforeunload
代替unload
,以便为您提供最长时间。但是,如果您计划此时向服务器发出请求(或异步执行任何操作),您可能会发现自己处于竞争状态,有时请求会通过,有时则不会。
这是因为页面在卸载时停止处理您的请求(或其他异步操作)。这几乎可以立即在现代浏览器中使用,并且在旧版IE中相当快。因此,在任何unload
或beforeunload
事件中执行某些操作很少有意义。
如果您尝试将计时器信息传递到下一个网址,则可能只需在点击网址时修改网址。
$('a').click(function(){ this.href=this.href + "#timer=" + timerVar; });
然后,当你到达下一页时,你可以从网址读取最后一个值。
Google Analytics通过向所有链接添加延迟来解决此问题:
$('a').click(function(){
var that = this;
setTimeout(function(){
window.location=that.href;
},100);
return false;
});
这只会让您的页面有更多时间来关注链接。虽然这并不是万无一失,但这对谷歌来说并不重要,因为分析有些短暂(而且他们也将url params用于其他更重要的事项(例如广告系列))。
答案 1 :(得分:1)
答案 2 :(得分:0)