我正在尝试获取按钮列表,并在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方法基本上接受了输入并添加了处理程序。但是它失败,因为未定义的未捕获类型错误不是一个函数
不知道发生了什么...。
最佳答案
那里 :
registerKeys(calKeys);
var registerKeys = function(inputs){
您在定义函数之前先调用函数。悬挂变量声明,而不是赋值。
您可以这样做:
registerKeys(calKeys);
function registerKeys(inputs){
但通常不太可读。除非有充分的理由(这里似乎没有一个理由),否则在使用值之前先给出值会更加清楚。