ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 高度なプログラミング 第 2 版 第 12 章 イベントの要点のまとめ (一般的に使用されるクロスブラウザ検出方法)_JavaScript スキル

JavaScript 高度なプログラミング 第 2 版 第 12 章 イベントの要点のまとめ (一般的に使用されるクロスブラウザ検出方法)_JavaScript スキル

WBOY
リリース: 2016-05-16 17:50:24
オリジナル
844 人が閲覧しました
コードをコピーします コードは次のとおりです:

var EventUtil={ //クロスブラウザ ハンドラー -- - メソッドの作成
addHandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListneter(type,handler,false)
}else if(element. attachEvent) {
element.attachEvent("on" type,handler);
}else{
element["on" type]=handler;
}
}
removeHandler: function( element,type,handler){ //クロスブラウザ ハンドラ --- 削除メソッド
if(element.removeEventListener){
element.removeEventListneter(type,handler,false)
}else if ( element.detachEvent){
element.detachEvent("on" type,handler);
}else{
element["on" type]=handler;
> getEvent:function(event){ //クロスブラウザ イベント オブジェクト --- イベント オブジェクトへの参照を返します
return event?event:window.event;
getTarget:function(event); { // クロスブラウザ イベント オブジェクト --- イベントのターゲットを返します
returnevent.target||event.srcElement
}
preventDefault:function(event){ //クロスブラウザ イベント;オブジェクト --- キャンセル デフォルトのイベント
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue=false;
}
stoppropagation:function (event){ //クロスブラウザ イベント オブジェクト---ブロック イベント フロー
if(event.stoppropagation){
event.stoppropagation()
}else{
event.canceBubble=false ;
}
}
getManyTarget:function(event){ //ブラウザ間で関連要素を取得します
if(event.popularTarget){
return event.popularTarget; 🎜>}else if(event.toElement){
return envent.toElement;
}else if(event.fromElement){
return events.fromElement;
}else{
return null ;
}
}
getButton:function(event){ //マウスイベントのボタン属性検出
if(document.implementation.hasFeature("MouseEvent","2.0")){
イベントを返す。ボタン;
}else{
switch(event.button){
ケース 0:
ケース 1:
ケース 3:
ケース 5:
ケース7:
return 0;
ケース 2:
ケース 6:
return 2
ケース 4:
return 1
}
}
}
getCharCode:function (event){ //クロスブラウザー文字エンコーディング---charCode 属性検出
if(typeofevent,charCode=="number"){
returnevent.charCode>}else; {
return event.keyCode;
}
}
}


イベント デリゲーション: メモリを削減し、パフォーマンスを向上させる、多すぎるイベント ハンドラーの解決策。イベントのシミュレーション: これはより複雑であり、ゆっくりと研究する必要があります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート