Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用onclick函数访问数组_Javascript_Arrays_Addeventlistener - Fatal编程技术网

Javascript 尝试使用onclick函数访问数组

Javascript 尝试使用onclick函数访问数组,javascript,arrays,addeventlistener,Javascript,Arrays,Addeventlistener,我试图将onclick函数应用于包含三个元素的数组,但设置数组的onclick属性无效。任何想法都会非常有用。 谢谢 这是我的密码: var btnArray = [ document.getElementById('buttonOne'), document.getElementById('buttonTwo'), document.getElementById('buttonThree'), ]; console.log(btnArray); btnArray.onclick = func

我试图将
onclick
函数应用于包含三个元素的数组,但设置数组的
onclick
属性无效。任何想法都会非常有用。 谢谢

这是我的密码:

var btnArray = [
document.getElementById('buttonOne'),
document.getElementById('buttonTwo'),
document.getElementById('buttonThree'),
];
console.log(btnArray); 
btnArray.onclick = function revilImg() {
console.log('hey');
}

像这样添加事件监听器,在数组中循环并向每个对象添加一个处理程序

var btnArray = [
  document.getElementById('buttonOne'),
  document.getElementById('buttonTwo'),
  document.getElementById('buttonThree'),
];

console.log(btnArray);

for (var i = 0; i < btnArray.length; i++){
  btnArray[i].addEventListener('click', function(){
    console.log('hey');
  })
}

像这样添加事件监听器,在数组中循环并向每个对象添加一个处理程序

var btnArray = [
  document.getElementById('buttonOne'),
  document.getElementById('buttonTwo'),
  document.getElementById('buttonThree'),
];

console.log(btnArray);

for (var i = 0; i < btnArray.length; i++){
  btnArray[i].addEventListener('click', function(){
    console.log('hey');
  })
}

数组没有
onclick
属性。您需要首先对其进行迭代(我选择使用),然后使用以下方法将处理程序分别附加到每个DOM元素:

var按钮=[
“没有”,
“buttonTwo”,
“巴顿树”
].map(document.getElementById,文档)
控制台日志(按钮)
功能恢复年龄(){
console.log('hey')
}
按钮。forEach(功能(e){
e、 addEventListener('click',Revalimage)
})
#1
#2

#3
数组没有
onclick
属性。您需要首先对其进行迭代(我选择使用),然后使用以下方法将处理程序分别附加到每个DOM元素:

var按钮=[
“没有”,
“buttonTwo”,
“巴顿树”
].map(document.getElementById,文档)
控制台日志(按钮)
功能恢复年龄(){
console.log('hey')
}
按钮。forEach(功能(e){
e、 addEventListener('click',Revalimage)
})
#1
#2

#3
document.getElementById传递给map函数时,它需要
document
,因为thisArg?@LGSon
document
只是
document
的一个实例,您在哪里找到或知道的,而
getElementById
恰好是在
Document.prototype
上定义的,而不是作为
文档的一个自有属性。尝试运行
document.hasOwnProperty('getElementById')
,您会看到它是
false
。您在哪里发现或知道,当将
document.getElementById
传递给map函数时,它需要
文档,因为thisArg?@LGSon
文档
只是
文档的一个实例,而
getElementById
恰好是在
Document.prototype
上定义的,而不是作为
文档的一个自有属性。尝试运行
document.hasOwnProperty('getElementById')
,您将看到它是
false