]> git.pond.sub.org Git - eow/blob - static/dojo-release-1.1.1/dojox/analytics/plugins/mouseClick.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / analytics / plugins / mouseClick.js
1 if(!dojo._hasResource["dojox.analytics.plugins.mouseClick"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2 dojo._hasResource["dojox.analytics.plugins.mouseClick"] = true;
3 dojo.provide("dojox.analytics.plugins.mouseClick");
4
5 // window startup data
6 dojox.analytics.plugins.mouseClick = new (function(){
7         this.addData = dojo.hitch(dojox.analytics, "addData", "mouseClick");
8
9         this.onClick=function(e){
10                 this.addData(this.trimEvent(e));
11         }
12         dojo.connect(dojo.doc, "onclick", this, "onClick");
13
14         this.trimEvent=function(e){
15                 var t = {};
16                 for (var i in e){
17                         switch(i){
18                                 case "target":
19                                 case "originalTarget":
20                                 case "explicitOriginalTarget":
21                                         var props=["id","className","nodeName", "localName","href", "spellcheck", "lang"];
22                                         t[i]={};
23                                         for(var j=0;j<props.length;j++){
24                                                 if(e[i][props[j]]){
25                                                         if (props[j]=="text" || props[j]=="textContent"){
26                                                                 if ((e[i]["localName"]!="HTML")&&(e[i]["localName"]!="BODY")){
27                                                                         t[i][props[j]]=e[i][props[j]].substr(0,50);
28                                                                 }
29                                                         }else{
30                                                                 t[i][props[j]]=e[i][props[j]];
31                                                         }
32                                                 }
33                                         }
34                                         break;
35                                 case "clientX":
36                                 case "clientY":
37                                 case "pageX":
38                                 case "pageY":
39                                 case "screenX":
40                                 case "screenY":
41                                         t[i]=e[i];
42                                         break;
43                         }
44                 }
45                 return t;
46         }
47 })();
48
49 }