dom0 event model
でいくつかの記事を読んで理解したことを表現しようとしてjavascript
います。間違いがある場合は、訂正してください。
dom0モデルでは、要素にイベントハンドラーをアタッチできます。アタッチできるハンドラーは1つだけです。イベントが発生すると、ブラウザーはそのイベントハンドラーを呼び出します。
これを行うには2つの方法があります
1.インラインモデル
ハンドラーは要素の属性として追加されます。たとえば、link element
(つまり<a>
)には次のような属性があります。onclick
次のような関数helloを追加します。
<a href="#" onclick="hello();"> say hello </a>
...
<script type="text/javascript">
function hello(){
window.alert("Hello");
}
</script>
このモデルの問題は、hello()が要素の本体に配置されているため、煩わしいことです。
2.従来のモデル
要素の本体に要素の属性としてイベントハンドラーを追加する代わりに、ハンドラーの追加/削除はスクリプトによって行われます。ハンドラーは、以下のように要素のプロパティに割り当てられます。
<a href="#" id="hellolink"> say hello </a>
...
<script type="text/javascript">
function hello(){
window.alert("Hello");
}
//adding handler
document.getElementById('hellolink').onclick=hello;
</script>