Introduction

ブログ内検索

  • このサイトの記事を検索 by Google

おすすめの一冊!

無料ブログはココログ

« DOM Events | トップページ | have_read_it_already 第2弾 »

2011-01-10

DOM Events サポート判定


きのうの DOM Events の記事の続き。


Opera 11.00 では DOMSubtreeModified イベントは実装されていませんが、
その代わりに DOMAttrModified イベントが実装されていました。


                       Firefox   Chrome     Opera
    DOMAtttrModified      ○        ×        ○
    DOMSubtreeModified  ○        ○        ×


というわけで、次のような feature detection コードを使うと、
Firefox/Chrome/Opera のどれでも動くコードが書けます。

var hasFeature_DOMSubtreeModified; var hasFeature_DOMAttrModified; (function() { var elem = _doc.createElement('div'); elem.addEventListener('DOMSubtreeModified', function() { hasFeature_DOMSubtreeModified = true; }, true); elem.addEventListener('DOMAttrModified', function() { hasFeature_DOMAttrModified = true; }, true); var elem2 = _doc.createElement('div'); elem.appendChild(elem2); elem2.className = 'foobar'; })(); if ((! hasFeature_DOMSubtreeModified) && (! hasFeature_DOMAttrModified)) throw 'DOM Events are not supported';
このコードは、DOM Events が「同期的」に処理されることに依存しています。 ちょっとあやしいですが、今のところ動いてます。 早く userscrits.org が復旧しないかなぁ・・・

« DOM Events | トップページ | have_read_it_already 第2弾 »