<!DOCTYPE HTML > < HTML LANG = "EN" > < 頭> < メタ文字コード= "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=装置幅、初期の規模= 1.0" > < メタHTTP -equiv = "X-UA-互換" コンテンツ= "IE =縁" > < タイトル>イベント对象跨浏览器兼容性写法</ タイトル> </ ヘッド> < ボディ> EventUtil = { // 添加事件 はaddHandler:機能(要素、種類、ハンドラ){ 場合(element.addEventListener){ element.addEventListener(タイプ、ハンドラ、偽); } そう であれば(element.attachEvent){ (element.attachEvent " 上" +のタイプ、ハンドラ); } 他{ 要素[ 「オン」+ 型] = ハンドラ。 } }、 // 移除事件 removeHandler:機能(要素、種類、ハンドラ){ 場合(element.removeEventListener){ element.removeEventListener(タイプ、ハンドラ、偽); } そう であれば(element.detachEvent){ (element.detachEvent " 上" +のタイプ、ハンドラ); } 他{ 要素[ 「オン」+ 型] = ハンドラ。 } }、 // イベント自体は取得 GETTARGET:関数(){ リターンのevent.target || event.srcElement。 }、 // デフォルトの動作防ぐ のpreventDefaultを:機能(){ IF (event.preventDefault){ event.preventDefault(); } 他{ event.returnValue = falseを。 } }、 // バブリングキャプチャキャンセル のstopPropagation:関数(){ IF (するevent.stopPropagation){ するevent.stopPropagation(); } 他{ event.cancelBubbleは= 真; } } } </ スクリプト> <! - 测试- > < divのID = "DIV" > 父 < ボタンのid = "BTN" >儿子</ ボタン> </ divの> < ID = "" のhref = "https://www.baidu.com/" >百度</ A > < スクリプト> VAR のdiv = document.getElementById(" DIV " ); VAR BTN = のdocument.getElementById(" BTN " ); EventUtil.addHandler(DIV、" クリック" 、機能(){ console.log(" 私は私です" ); console.log(EventUtil.getTarget(イベント)); // 获取ターゲット }) EventUtil.addHandler(BTN、" クリック" 、機能(){ console.log(「私は息子です」); EventUtil.stopPropagation(); // 防止バブリング }) VAR A = のdocument.getElementById(" A " )。 EventUtil.addHandler(、" クリック" 、機能(){ console.log(「私はリンクしています」); EventUtil.preventDefault(); //はデフォルトの動作を妨げる }) </ スクリプト> </ ボディ> </ HTML >
Eventオブジェクトの書き込みクロスブラウザの互換性
おすすめ
転載: www.cnblogs.com/vinson-blog/p/12114809.html
ランキング