ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザ機能検出の詳細説明(1) - jQuery1.4追加部分
最も古典的なアプリケーションは一般的な addEvent 関数です。
<br>
function addEvent(element, type, handler) { if (element.attachEvent) { //IE8及以下浏览器 element.attachEvent('on' + type, handler); } else { //W3C标准浏览器 element.addEventListener(type, handler, false); } };
この関数は、attachEvent 関数が存在するかどうかを検出することで、attachEvent と addEventListener のどちらを使用するかを決定できます。これは最も単純なタイプの特徴検出でもあるため、通常、リアルタイム検出は必要な場合にのみ実行されます。もう 1 つの種類の特徴検出は、検出処理が面倒なため、事前に検出を完了し、検出結果 (通常はブール型) を変数に保存します。
この記事の主な目的は、jQuery1.4 でのブラウザー機能検出の新しい内容を分析して説明し、同時にブラウザーの互換性に関するいくつかの詳細についての記憶を深めることです。
jQuery 1.4 では主に次のブラウザ機能識別子が追加されています:
バージョン 1.4 で導入され、値が設定されていないチェックボックスのデフォルト値が「オン」であるかどうかを決定します。
バージョン 1.4.3 で導入され、選択要素の最初のオプション要素を選択するかどうかを決定します。デフォルトで選択されます。
バージョン 1.4.3 で導入され、select 要素が無効に設定されている場合に、そのすべてのオプションの子要素も無効に設定されるかどうか。
バージョン 1.4.1 で導入され、使用時にラジオとチェックボックスを使用するかどうかを決定します。 DocumentFragment の cloneNode 関数 checked 属性は保持されます。
バージョン 1.4.3 で導入され、IE では次のブロック要素にhasLayout 属性と display: inline;
を持ち、インラインブロックで表示するかどうかを指定します。
バージョン 1.4.3 で導入され、IE の次の要素にはhasLayout 属性と固定幅/高さ (子要素によって展開されないかどうか)。
バージョン 1.4.3 で導入され、td または th 要素が設定されたときに、 display: none;
に、offsetHeight はありますか?
この機能を検出するには、次のコードを使用します:
<br>