トップページ >  JavaScript >  イベントの伝播
初版2013/02/27: 最終更新日2013/02/27
  イベントの伝播
目次
イベントの伝播
DOM要素でイベントの伝播
イベントの伝播
イベントの伝播とは、子要素のイベントと同じイベントを親要素が持つ場合、両方のイベントが発生することを言います。
以下のようなHTMLがあったとします。

<div onclick="a()">
<span onclick="b()">テスト</span>
</div>

この状態で以下の「テスト」という文字をクリックしてください。

テスト


両方のonclickイベントが実行されたと思います。以下、ソースです。

<script language="JavaScript">
<!--
function a(){
    alert("div");
}
function b(){
    alert("span");
}
// -->
</script>

DOM要素でイベントの伝播
DOM要素でイベントの伝播が起こるかの確認です。ボタンを押すと以下のJavaScriptが実行されます。
「テスト」という文字が表示されるのでそれをクリックしてください。



以下、ソースです。

<p id="test"></p>
<script language="JavaScript">
<!--
function c(){
    // 2度押し防止
    button1.disabled = true;

    var div = document.createElement("div");
    div.id = 'div1';
    var span = document.createElement("span");

    var span = document.createElement('span');
    span.id = 'span1';
    span.innerHTML = 'テスト';

    div.appendChild(span);
    document.getElementById("test").appendChild(div);

    div1.addEventListener('click', function() {
        alert("div")
    }, false);
 
    span.addEventListener('click', function() {
        alert("span")
    }, false);
}
// -->
</script>