2017-05-28 158 views
-2

我在這裏看到很多addEventListener問題。我還有一個。如果有人認爲它是重複的,請繼續。好的,這是我的代碼。無法弄清楚什麼是錯的?addEventListener不能正常工作...多一個

<body> 
<a href="#">Apple</a> 
<a href="#">Banana</a> 
<a href="#">Carrot</a> 

<script type="text/javascript"> 

window.onload = function(){ 

    //let's listen to the click event of our links 
    var links = document.getElementsByTagName("a"); 
    for(var i=0;i<links.length;i++){ 
     var link = links[i]; 
     link.addEventListener("click", "fnLinkClicked", false); 
    } 

    function fnLinkClicked(){ 
     alert(this.innerText); 
    } 
} 

</script> 
</body> 
+0

我忘了提及我正在使用IE 11 –

+0

請告訴我們預期的行爲是什麼 – randomusername

+0

而且還要指定什麼是不工作... – Pineda

回答

2

這是你的問題:

link.addEventListener("click", "fnLinkClicked", false); 

第二個參數應該是一個函數,而不是一個字符串:

link.addEventListener("click", fnLinkClicked, false); 
0

你有引號"fnLinkClicked",功能是第一類對象javascript

+0

謝謝...有時愚蠢的錯誤可以真正bug我們:)。 –

+0

@Jonasw有編程語言,你不能只是傳遞一個函數(它們不是一流的對象),所以你必須使用古怪的黑客,包括將函數的名稱作爲字符串傳遞...... – randomusername

+0

@randomusername哦,現在已經明白了你的觀點;) –