JSjs 动态添加事件事件如何弄事件追踪?

2012年6月 总版技术专家分月排行榜第二
2012年6月 Web 开发大版内专家分月排行榜第一2012年5月 Web 开发大版内专家分月排行榜第一
2012年6月 总版技术专家分月排行榜第二
2012年6月 Web 开发大版内专家分月排行榜第一2012年5月 Web 开发大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。Google Analytics:为链接点击设定事件追踪的方法 - Blog - Renfei Song在 Google Analytics 中,可以使用 Event Tracking 功能跟踪自定义的事件。但是,如果你要跟踪的是一个链接点击,那么单纯这样写则很有可能导致漏掉许多事件:&a href=&& onclick=&_trackEvent('link', 'click', this.href)&&&/a&这是因为,每次自定义事件被触发的时候,浏览器都会向 Google 的服务器发送一个请求,从而发送数据。但是点击链接会直接进入下一个页面,如果此时需要发送的请求还没有完成,浏览器就会放弃该请求而直接跳转。所以,就会导致事件无法被记录。解决方法经典跟踪代码 (ga.js) 的解决方法既然事件没有记录是因为跳转得太快,那么我们可以通过setTimeout函数设定一个比较小的延时来给浏览器充足的时间向 Google 的服务器发送数据。一般设为 500ms 或 1000ms 就足够了,同时用户也不会察觉到。我们可以把触发事件的语句包装到一个自定义函数中:var trackOutboundLink = function(url) {
_trackEvent('link', 'click', url);
setTimeout(&document.location='& + url + &'&, 500);
}同时在 HTML 中这么写:&a href=&& onclick=&trackOutboundLink(this.href);&&&/a&其中return false语句防止了默认行为(点击a而跳转)的发生,实际跳转由我们自己来完成。Universal Analytics (analytics.js) 的解决方法Google 建议的方法如果你已经升级到了 Universal Analytics,那么 Google 给出了这种情况下的。在新版的跟踪代码中,设置事件的函数包含了一个 callback,在成功设置完毕后触发。于是我们可以把手工跳转的代码写到 callback 函数中,这样就不用显式地设置 timeout 了,同时浏览器也能够「尽快」跳转。同样声明一个包装函数:var trackOutboundLink = function(url) {
ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
function () {
document.location = url;
}这次,使用了hitCallback,它所对应的函数将在成功发送事件信息后被调用。类似,HTML 代码中这么写:&a href=&& onclick=&trackOutboundLink('');&&Check (以上两段示例代码来自 Google 官方文档,链接见上文)还可以做得更好本来教程到这里就可以结束了,可是还有一点值得说明。上述解决方法在绝大多数情况下是完全没有问题的,但是除了一种情况:浏览器无法正常发送事件数据到 Google 服务器。例如,如果 Google 的服务器忽然「无法访问」(你懂的),或者加载analytics.js失败,那么hitCallback就将永远不会被调用。这种情况下这个链接就变成点了也没用的了。在访问 Google 完全没有问题的情况下,这种情形自然不必考虑。不过为了提供最大程度的保障,可以人工加一个防御措施:var trackOutboundLink = function(url) {
var redirectTriggered = false;
ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
function() {
redirectTriggered = true;
document.location = url;
setTimeout(function() {
if (!redirectTriggered) {
document.location = url;
}即,在进入trackOutboundLink之后,设置 1500ms 的过期时间,如果时间到了还没有跳转,就人工跳转,保证访客可以正常访问。&来自话题&相关文章讨论Please enable JavaScript to view the comments powered by Disqus.热门搜索:         
js动态绑定事件_jquery的trigger()方法原理
来源:未知
时间: 17:24
作者:xxadmin
[导读] 方法一: //原生的js触发click事件 elem.click(); //Jquery也用相同的方式 //Jquerytrigger的代码片段 trigger: function (event,data,elem,onlyHandlers){ //... //... try { //这里是触发事件的代码 elem[type](); } catch...
elem.click();
trigger:&function&(event,&data,&elem,&onlyHandlers)&{
&&&&&try&{
&&&&&&&&&elem[type]();
&&&&&}&catch&(e)&{
&&&&return&event.
//&直接获取element绑定的方法调用就可以了
var&triggle&=&function(element,&method)&{
var&func&=&element[method];
return&func();
window.onload=function()&{
triggle(document.getElementById(&abc&),&&onclick&);
上一篇: 下一篇:
更多文章推荐
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF
<span style="display: padding-left:5 font-size:12 color:#FF本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 js动态绑定click事件 的文章

 

随机推荐