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

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

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

在toggleForm中,我想知道元素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')get传递给回调函数? – user1904218

+1

是的,e是传递给侦听器的事件对象。它还有很多其他属性。 – csander

+0

非常酷!只是做了一个console.log对象,并注意到其他属性。再次感谢 – user1904218