HTMLイベントと呼ばれるものはありません!説明した2種類のイベントは、インラインイベントと目立たないイベントで、どちらもjavascriptイベントです。
インラインイベント
要素自体でjavascriptコードを宣言すると、インラインイベントになります。、、、などのいくつかの一般的なイベント(HTML要素の属性として)があり、onclick
それらはすべて。で始まります。そのような例の1つは次のとおりです。onkeydown
onkeypress
onkeyup
on
<a href="#" onclick="alert('You clicked me!')">Click Me!</a>
目立たないイベント
イベントがトリガーされたときに実行するものを割り当てる必要があります。シンボルは常にJavaScriptで使用され、右側の=
値を左側のメソッドまたはプロパティに割り当てます。
イベントをアタッチできるオブジェクトはウィンドウだけではありません。オブジェクトを一意に識別する方法があれば、Webページ内の任意のオブジェクトにイベントを添付できます。オブジェクトを識別する1つの方法は、オブジェクトにIDを指定し、それを参照することdocument.getElementById("id_of_the_element")
です。
同じ例を見てみましょう。
<a href="#" id="clickme">Click Me!</a>
onclick
属性の代わりにID
、同じ場所にHTML要素を一意に識別するがあります<a>
。これで、JavaScript内のIDを次のように取得できます。
document.getElementById('clickme');
このために、属性の使用方法と大差ないイベントハンドラーをアタッチできます。on
正面にがないだけです。前の例ではを使用onclick
しましたが、今はを使用しますclick
。
document.getElementById('clickme').click = functionName;
ここで、functionName
は任意のjavascriptの関数名または無名関数を指します。したがって、アラートの場合、という名前の関数を作成すると、次のalertme()
ように定義できます。
function alertme()
{
alert('You clicked me!');
}
これで、関数を要素にアタッチすることが次のように実行できます。
document.getElementById('clickme').click = alertme;
まだ怠惰な気分ですが、名前のない無名関数の方法を使用してそれを行うことができます。
document.getElementById('clickme').click = function () {
alert('You clicked me!');
}
ご理解いただければ幸いです。:)さらに明確にするために私に知らせてください。