2016-08-16 142 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

相關問題