繁体   English   中英

如何将事件侦听器添加到多个元素ID

[英]How to add an event listener to multiple element ids

下面是我将侦听器添加到多个ID的方法。

function onImageClick(event) {
//i am not getting below console msg
  console.log('Event Registered');
}

var queryResult = document.getElementsByClassName('ui-grid-cell');
Array.from(queryResult).forEach(function(element) {
  document.getElementById(element.id).addEventListener("click",onImageClick);
});

以上方法对我不起作用。 我在做什么错?

这会工作

  function onImageClick(event) { alert('Event Registered'); } var queryResult = document.getElementsByClassName('ui-grid-cell'); for(var i=0;i<queryResult.length;i++){ if(queryResult[i].id && queryResult[i].id !=""){ document.getElementById(queryResult[i].id).addEventListener("click",onImageClick); } } 
 img{ margin:15px; padding:10px; border-radius:10px; box-shadow:1px 1px 1px #ccc; } 
 <img title='this should listen' src='https://www.google.com.eg/images/nav_logo242.png' class='ui-grid-cell' id='div1'/> <img src='https://www.google.com.eg/images/nav_logo242.png' class='ui-grid-cell'/> <img title='this should listen' src='https://www.google.com.eg/images/nav_logo242.png' class='ui-grid-cell' id='div2'/> <img src='https://www.google.com.eg/images/nav_logo242.png' class='ui-grid-cell'/> 

您的相同代码工作正常,也许您错过了在图像上添加id的问题?

 function onImageClick(event) { //i am not getting below console msg console.log('Event Registered'); } var queryResult = document.getElementsByClassName('ui-grid-cell'); Array.from(queryResult).forEach(function(element) { document.getElementById(element.id).addEventListener("click",onImageClick); }); 
 <img src="https://dummyimage.com/50x50/000/fff" class="ui-grid-cell" id="one"> <img src="https://dummyimage.com/50x50/ccc/fff" class="ui-grid-cell" id="two"> <img src="https://dummyimage.com/50x50/123456/fff" class="ui-grid-cell" id="three"> 

这种方法应该有效:

var queryResult = document.getElementsByClassName('ui-grid-cell');
Array.from(queryResult).forEach(function(element) {
    element.addEventListener("click",onImageClick);
});

如果您使用JQuery,请使用

$(".ui-grid-cell").click(function(){

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM