检查单击的元素及其编号

时间:2018-03-15 20:44:39

标签: javascript

window.onload = function() {
    var elementts = document.getElementsByClassName('cells');
    for(var i = 0; i < elementts.length; i++) {
        var show_clicked = elementts[i];
        if( show_clicked.onclick==true && show_clicked.length==0){
            alert("1");
        }else if( show_clicked.onclick==true && show_clicked.length==1){
            alert("2");
        }else if( show_clicked.onclick==true && show_clicked.length==2){
            alert('3');
        }else{

        }
    }
}

我正在尝试检查点击的元素及其数字javascript。你是怎么做到的?

2 个答案:

答案 0 :(得分:1)

您可以通过将eventListener附加到它来检查是否已单击元素。例如:

element.addEventListener('click', myFunction);

此代码将触发&#34; myFunction&#34;每次点击&#34;元素&#34;。

在您的情况下,您有一个元素列表。您想确定刚刚单击列表中的哪个元素。

您可以采取的方法之一是:

  1. 选择元素列表并将其分配给变量(就像您所做的那样)
  2. 将此列表转换为数组
  3. 将eventListener附加到列表的父元素,并使用冒泡检查单击哪个子元素
  4. 如果单击存储在数组中的某个元素,则触发该函数(在下面的示例中 - 记录到数组中单击元素的控制台索引)
  5. 这不是最佳解决方案,但我希望它能说明如何解决这个问题的一般概念。以下是示例实现:

    var parentElement = document.getElementById('parentElement')
    var elements = document.getElementsByClassName('elements');
    var elementsArr = Array.apply(null, elements);
    
    parentElement.addEventListener('click', function(event) {
      if (elementsArr.indexOf(event.target > -1)) {
        console.log(elementsArr.indexOf(event.target));
      }
    }, true);
    

    有用的文章:

答案 1 :(得分:0)

我认为window.onload对你没有帮助。你需要一种事件监听器。只是为了一个简单的解决方案,您可以尝试为您考虑的元素提供相应的ID号。你可以在下面使用:

of object

这为您提供了点击元素的ID号。