クロスブラウザ対策用JSで一般的なEventなどの一般的なもの
browser判別のみjQueryを使用した。
/* from jQuery */ var userAgent = navigator.userAgent.toLowerCase(); // Figure out what browser is being used var browser = { version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], safari: /webkit/.test(userAgent), opera: /opera/.test(userAgent), msie: /msie/.test(userAgent) && !/opera/.test(userAgent), mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) }; /* End: from jQuery*/ function $(id){ return document.getElementById(id); }; function $t(tag){ return document.getElementsByTagName(tag); }; function $n(name){ return document.getElementsByName(name); }; function $body(){ return document.getElementsByTagName('body')[0]; }; function log(str1, str2, some){ if (window.console != undefined && console.log) { for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } } // イベント伝達禁止 function stopEvent(ev){ if (ev.stopPropagation) ev.stopPropagation(); else ev.cancelBubble = true; } // イベントキャンセル function preventEvent(ev){ if (ev.prevenDefault) ev.preventDefault(); else returnValue = false; } // event observer var setEvent = function(obj, type, func){ if (obj) { if (obj.addEventListener) obj.addEventListener(type, func, false); else if (obj.attachEvent) obj.attachEvent("on" + type, func); } else { return false; } }; // this の指定化 function bindFunc(bind, func){ return function(){ return func.apply(bind, arguments); }; }