検索条件
全1件
(1/1ページ)
片方にあったり無かったりするメソッドやプロパティを何とかするためのメモ。
無い場合はundefinedとか返されるので || で繋いでしまえばなんとかなることが多い。
メモ書きなので間違えてるかも。
でも、
x = obj.yyy || obj.zzz;
って書く分には逆でも問題なかったりする。
そのうちいろいろ追加したりすると思う。
IE | FF | 用途 |
---|---|---|
innerText | textContent | エレメントの中のテキストのみ取り出す |
e.srcElement | e.target | イベントの発生元 |
tagName | localName | タグの名前(AとかIMGとか)* |
obj.currentStyle | document.defaultView.getComputedStyle(obj, '') | 実際に表示されているスタイル |
clientHeight | offsetHeight | エレメントの高さ |
clientWidth | offsetWidth | エレメントの幅 |
* Safari, Google ChromeはlocalNameは小文字で、tagNameは大文字で返すっぽい
_preventDefault = function (ev){ if(IsIE) ev.returnValue = false; else ev.preventDefault(); }
但し、IEとFFではイベントの発生順が逆なので注意
_stopPropagation = function (ev){ if(ADIARY.IsIE) ev.cancelBubble = true; else ev.stopPropagation(); }
クリックとかいろいろ。
但し、無名関数を登録すると取り除けなくなるので注意*1
addEvent = function (target, name, func) { if(target == undefined || name == '' || func == undefined) return; if(target.addEventListener) target.addEventListener(name, func, false); else if(target.attachEvent) target.attachEvent('on'+name, func); else return false;// setAttribute('on'+name, func); return true; }
上のaddEventで追加したやつ限定
delEvent = function (target, name, func) { if(target == undefined || name == '' || func == undefined) return; if(target.removeEventListener) target.removeEventListener(name, func, false); else if(target.detachEvent) target.detachEvent) ('on'+name, func); else return false;// setAttribute('on'+name, ''); return true; }