我正在尝试获取一个按钮列表,并在domloaded
上为每个按钮添加事件侦听器 window.addEventListener('DOMContentLoaded', function() {
var calKeys = document.getElementById("filters").querySelectorAll("a.Button");
registerKeys(calKeys);
var registerKeys = function(inputs){
for(var i=0;i<inputs.length;i++) {
inputs[i].addEventListener("click", handleCalcKey, false);
}
};
var handleCalcKey = function(){
alert( "thi sis a test");
}
});
所以我的registerKeys方法基本上需要输入并添加处理程序。然而它失败,因为未捕获的类型错误未定义不是函数
不确定发生了什么......
答案 0 :(得分:4)
那里:
registerKeys(calKeys);
var registerKeys = function(inputs){
在定义函数之前调用函数一行。变量声明被提升,而不是分配。
你可以这样做:
registerKeys(calKeys);
function registerKeys(inputs){
但它通常不太可读。除非有充分的理由(这里似乎没有),否则在使用它们之前给出的值会更清楚。