<!DOCTYPE HTML > < HTML のlang = "EN" > < ヘッド> < メタのcharset = "UTF-8" > < タイトル>ドキュメント</ タイトル> </ ヘッド> < ボディ> < 入力タイプ= "ボタン" 値= "按钮" ID =" BTN」> < スクリプトSRC = "common.js" > </ スクリプト> < 私の$(' BTN ' ); 機能btnClick(){ アラート(' こんにちは' ); // 移除事件 にremoveEventListener(BTN、' クリック' 、btnClick)。 } は、addEventListener(BTN、' クリック' 、btnClickを)。 </ スクリプト> </ ボディ> </ HTML >
共通コード
機能マイ$(IDを){ 返すのdocument.getElementById(ID); } // プロセスブラウザの互換性を // 最初の子を取得 関数getFirstElementChild(要素){ VARのノード、ノード= element.childNodesを、I = 0 ; 一方(ノード=ノード[I ++ ]){ IF(node.nodeType === 1 ){ 戻りノード; } } 戻り NULL ; } // プロセスブラウザ互換 // 次の兄弟を取得 関数getNextElementSibling(素子){ VAR EL =要素; 一方(EL = el.nextSibling){ IF(el.nodeType === 1 ){ 戻りEL; } } 戻り NULL ; } // 互換性の問題ののinnerTextのTextContent処理 // タグセットとの間のコンテンツ 機能setInnerText(要素コンテンツ){ //は現在のブラウザはのinnerTextサポートするかどうかを決定する のiFを(typeof演算 element.innerText === '文字列' ){ element.innerText = コンテンツ; } そうでなければ{ element.textContent = コンテンツ; } } // 互換性の問題は、登録されたイベントに対応 // ONせずeventNameの、クリックマウスオーバーマウスアウトの 関数のaddEventListener(要素、eventNameの、FN){ // 現在のブラウザは、addEventListenerメソッドをサポートするかどうかを決定する IF (element.addEventListener){ 要素。 addEventListener(eventNameの、FN); // falseに第3のパラメータのデフォルト値 } 他 IF (element.attachEvent){ element.attachEvent( + 'ON' eventNameの、FN); } そうでは{ //はelement.onclick = FN対応します; 元素〔eventNameの+ 'ON'] = のFn; } } // 除去互換処理イベント 機能removeEventListener(要素、eventNameの、FN){ IF (element.removeEventListener){ element.removeEventListener(eventNameの、FN); } そう IF (element.detachEvent){ (element.detachEvent + 'ON' eventNameの、FN); } 他{ [要素 eventNameの+ 'ON'] = NULL ; } } // ブラウザの互換性の問題ページのスクロール距離取得 //がページスクロールから取得 機能getScrollを(){ VAR scrollLeft = || document.body.scrollLeft 文献。 documentElement.scrollLeft; VAR= || document.body.scrollTop scrollTopスプライトdocument.documentElement.scrollTop; リターン{ scrollLeft:scrollLeft、 scrollTopスプライト:scrollTopスプライト } } // ページ上のマウスの位置を取得し、ブラウザの互換性処理 機能GETPAGE(E){ VAR pageX e.clientX || + = e.pageX getScroll ().scrollLeft; VAR pageY e.clientY || + = e.pageY getScroll()scrollTopスプライト;. 戻り{ pageX:pageX、 pageY:pageY } }