2016-08-16 7 views
0
let toggleForm = function() { 
    // code here 
    } 

    document.getElementById('one').addEventListener("click", toggleForm, false); 

    document.getElementById('two').addEventListener("click", toggleForm, false); 

toggleフォームでは、1つまたは2つの要素がイベントを発生させたかどうかを知りたいと思います。それについてどうやって行きますか?コールバック関数からのデータへのアクセス

答えて

2

使用e.target

<button id = 'one'>One</button> 
<button id = 'two'>Two</button> 
<script> 
    var one = document.getElementById('one'), 
    two = document.getElementById('two'); 
    let toggleForm = function(e) { 
    if (e.target === one) alert('One'); 
    else alert('Two'); 
    }; 
    one.addEventListener("click", toggleForm, false); 
    two.addEventListener("click", toggleForm, false); 
</script> 
+0

すごいです!私は画面の後ろで何が起こっていると仮定addEventListenerの中には、オブジェクト(私たちの場合は 'e')は、コールバックに渡される? – user1904218

+1

はい、eはリスナーに渡されるイベントオブジェクトです。他にもたくさんの特性があります。 – csander

+0

非常にクール!ただオブジェクトに対してconsole.logを実行し、他のプロパティに気付きました。再度、感謝します – user1904218

関連する問題