任何人都知道为什么这不能按预期工作?只需在页面加载时触发警报.
var div = document.querySelectorAll('.div'); // NodeList of all instances of '.div'
var eventFunction = function() {
alert('ggdf');
};
for(var i = 0; i < div.length; i++) { // Begin '.div' NodeList loop
div[i].addEventListener('click', eventFunction(), false); // Click function on all instances of '.div'
} // End '.div' NodeList loop
Run Code Online (Sandbox Code Playgroud)
在将函数传递给函数时执行eventListener函数,而不是使用:
for(var i = 0; i < div.length; i++) {
div[i].addEventListener('click', eventFunction, false); //notice no ()
}
Run Code Online (Sandbox Code Playgroud)
函数可以作为参数以与其他变量相同的方式传递,但是当您()在它们之后传递它们时,调用函数并将函数返回的对象/值作为参数传递.
除非你已经div为所有div 添加了一个类,否则我认为你想要使用标签选择器:
var div = document.querySelectorAll('div');
Run Code Online (Sandbox Code Playgroud)
JS小提琴: http ://jsfiddle.net/rG3AC/1/
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |