代码之家  ›  专栏  ›  技术社区  ›  ADH - THE TECHIE GUY

Java脚本点击函数意外输出[复制]

  •  0
  • ADH - THE TECHIE GUY  · 技术社区  · 7 年前

    这个问题已经有了答案:

    我不熟悉JavaScript。我尝试使用一个警报,当单击特定按钮时显示按钮数据。

    但在这里,它总是提醒同一个按钮名。如何解决这个问题?

    function getElement(k) {
      var elm = document.getElementById(k);
      /*alert ("hai");*/
      return elm;
    }
    
    for (var i = 1; i <= 6; i++) {
      getElement("button" + i).addEventListener("click", function() {
        alert("clicked on button" + i);
      });
    }
    li {
      list-style: none;
    }
    <li>
      <div class="button-holder"><button id="button1" class="button">button1</button>
      </div>
    </li>
    <li>
      <div class="button-holder">
        <button id="button2" class="button">button2</button>
      </div>
    </li>
    <li>
      <div class="button-holder">
        <button id="button3" class="button">button3</button>
      </div>
    </li>
    <li>
      <div class="button-holder">
        <button id="button4" class="button">button4</button>
      </div>
    </li>
    2 回复  |  直到 7 年前
        1
  •  0
  •   ColJarmen    7 年前

    this

    for (let i = 1; i < 5; i++) {
    document.getElementById("button" + i).addEventListener("click", function() {
    console.log("clicked on button" + i);
    alert("clicked on button" + i);});
    }
    

        2
  •  0
  •   Amiya Kumar    7 年前

    function getElement(k) {
      var elm = document.getElementById(k);
      /*alert ("hai");*/
      return elm;
    }
    
    for (var i = 1; i <= 6; i++) {
      getElement("button" + i).addEventListener("click", function() {
        alert("clicked on button" + i);
      });
    }

     
    
    var btn = document.querySelectorAll('.button');
    
     for(var i = 0; i < btn.length; i++) {
       btn[i].addEventListener("click", function(){
         alert("Clicked on " + this.innerText);
       });
     }