DOMの中で重要な知識点:事件について話します.
4779 ワード
イベント
イベントとは、ブラウザがJavaScriptプログラムを通知し、ユーザーがHTMLページのボタンをクリックしたり、ユーザーがユーザ名やパスワードを入力したりすることをイベントといいます.
イベントの種類
イベントは使用シーンによって次のように分類されます.は、デバイスの入力イベントに依存しています.キーボードイベントとマウスイベント、これらのイベントは、デバイスに直接関連する です.は、デバイスの入力イベント、例えば、clickイベントなどと独立しています.これらのイベントは、直接にデバイスに関連するものではありません. ユーザインタフェースの関連イベント:ユーザーインターフェースイベントがより上位のイベントで、フォーム内のコンポーネント に一般的に多く使われている.状態変化に関するイベント:これらのイベントは、ユーザの行為に関係なく、ネットワークまたはブラウザがトリガする である.特定のAPIイベント:これらのイベントは、HTML 5において提供されるAPI内のイベントのドラッグ&ドロップなど、特定のシーンの実装に多く使われる. エラー処理に関するイベント イベント登録
イベントの登録とは、JavaScript関数を指定されたイベントに関連付けることで、バインディングされた関数がイベントのハンドルとなり、イベントがトリガされると、バインディングされた関数が登録イベントを呼び出して以下の3つの方法で実現されます. HTMLページ要素が提供するイベント属性 DOM標準仕様でHTML関連オブジェクトが提供するイベント属性 HTMLページに要素を指定することにより、イベントモニター を追加する.
バインディングイベント HTMLページとJavaScriptを結合して実現されたイベントバインディングは、HTMとJavaScriptの分離を実現していないという欠点があります.
HTMLコード: JavaScriptバインディングイベント HTMLコード用addEventListener パラメータ:eventName:バインディングされたイベント名を表します.オンカロックがないことに注意してください.イベントを表す処理関数(コールバック関数)は同じ要素に対して同じイベントを複数回結びつけることができます.
removeveeventListenerメソッドパラメータ:eventName:削除されたイベント名functionNameを表します.イベントの処理関数は登録イベントの処理関数でなければならないということです.
HTMLコード
イベントオブジェクトは、Windowsオブジェクトの属性としてイベントオブジェクトが発生します.イベントの処理関数では、パラメータEventイベントオブジェクトを受信します.すべてのイベントの対象となる親レベル1.MouseEventイベントオブジェクト:マウスイベント2.KeyboardEventイベントオブジェクトを表します.キーボードイベント3.TouchEventイベントオブジェクトを表します.タッチイベントを表します.
IE 8以下のバージョンのブラウザで提供されるイベントモニターの追加方法:イベントオブジェクトはwindowオブジェクトの属性として出現する:window.event
htmlコード
以下は取得のみで設定できません. pageX、pageY:現在のHTMLページ に対するマウス座標値 clientX、clientY:マウス座標値は現在の視認ウィンドウ に対して screenX,screenY:現在のスクリーンに対するマウス座標値 CSSコード
clickイベント:マウスクリックイベント(マウス左ボタン)mousedownイベントを表します.マウスボタンが押されたことを示すイベントmouseupイベント:マウスボタンが解放されたことを示すイベントイベントイベントイベントオブジェクトは、マウスボタンの値を表します.0-マウスの左ボタンを表します.
keydownイベント:キーボードボタンが押されたことを示すイベント:キーボードボタンが解除されたことを示すイベント:キーボードボタンを押してください.
イベントオブジェクトコード:現在のキーの名前を取得するkey:現在のキーの名前を取得するkeyCode:現在のキーに対応するUnicodeコードを取得する
イベントとは、ブラウザがJavaScriptプログラムを通知し、ユーザーがHTMLページのボタンをクリックしたり、ユーザーがユーザ名やパスワードを入力したりすることをイベントといいます.
イベントの種類
イベントは使用シーンによって次のように分類されます.
イベントの登録とは、JavaScript関数を指定されたイベントに関連付けることで、バインディングされた関数がイベントのハンドルとなり、イベントがトリガされると、バインディングされた関数が登録イベントを呼び出して以下の3つの方法で実現されます.
バインディングイベント
HTMLコード:
JavaScriptコード:var btn=document.getElementById('btn');
function myClick(){
console.log('this is event');
}
JavaScriptコードvar btn=document.getElementById('btn');
btn.onclick=function(){
console.log('this is event');
}
JavaScriptコードvar btn=document.getElementsByClassName('btn')[0];
btn.addEventListener('click',function(){
console.log('this is event');
});
イベントモニターにおけるthisについて:addEventListener()を使用して、あるHTMLページ要素にイベントを登録する場合、thisは登録イベントの要素を指す.メソッドがあるHTMLページ要素にイベントを登録するとき、windowオブジェクトを指す.登録イベントの要素ではなく、addEventListener(メソッドとEvent)によるEventh方法の中のthisの意味は違っています.モニターのブラウザの互換性を最適化する必要があります.// IE 8 this
function bind(elem,event,callback){
// addEventListener
if(elem.addEventListener){
elem.addEventListener(event,callback,false);
}else{
elem.attachEvent('on'+event,function(){
// this
callback.call(elem);
});
}
}
登録イベントおよびイベントオブジェクトEventの削除の使い方removeveeventListenerメソッドパラメータ:eventName:削除されたイベント名functionNameを表します.イベントの処理関数は登録イベントの処理関数でなければならないということです.
HTMLコード
JavaScriptコードvar btn=document.getElementById('d1');
function myClick(){
console.log('this is event');
}
btn.addEventListener('click',myClick);
// .removeEventListener( , );
btn.removeEventListener('click',myClick);
/*IE 8 removeEventListener()
detachEvent(eventName,functionName)
eventName: ( on)
functionName:
( )*/
登録イベントを削除イベントオブジェクトは、Windowsオブジェクトの属性としてイベントオブジェクトが発生します.イベントの処理関数では、パラメータEventイベントオブジェクトを受信します.すべてのイベントの対象となる親レベル1.MouseEventイベントオブジェクト:マウスイベント2.KeyboardEventイベントオブジェクトを表します.キーボードイベント3.TouchEventイベントオブジェクトを表します.タッチイベントを表します.
IE 8以下のバージョンのブラウザで提供されるイベントモニターの追加方法:イベントオブジェクトはwindowオブジェクトの属性として出現する:window.event
htmlコード
JavaScriptコードvar btn=document.getElementById('btn');
// : .addEventListener( ,function( Event){});
btn.addEventListener('click',function(event){
//
var btn=event.target;
//
event.preventDefault();
})
// : .onclick=function( Event)
btn.onclick=function(event){
// IE 8
var e=event || window.event;
//IE 8
e.returnValue=false;
}
マウスの座標値を取得以下は取得のみで設定できません.
// , body 2000
body{height:2000px}
JavaScriptコードvar html=document.documentElement;
html.addEventListener('click',function(event){
// HTML
console.log(event.pageX,event.pageY);
//
console.log(event.clientX,event.clientY);
//
console.log(event.screenX,event.screenY);
});
マウスイベントclickイベント:マウスクリックイベント(マウス左ボタン)mousedownイベントを表します.マウスボタンが押されたことを示すイベントmouseupイベント:マウスボタンが解放されたことを示すイベントイベントイベントイベントオブジェクトは、マウスボタンの値を表します.0-マウスの左ボタンを表します.
1 -
2 -
キーボードイベントkeydownイベント:キーボードボタンが押されたことを示すイベント:キーボードボタンが解除されたことを示すイベント:キーボードボタンを押してください.
イベントオブジェクトコード:現在のキーの名前を取得するkey:現在のキーの名前を取得するkeyCode:現在のキーに対応するUnicodeコードを取得する