似乎无法制作单独的按钮事件

时间:2018-05-10 17:38:44

标签: javascript html events button onclick

所以我不能让这些按钮工作。我尝试了很多不同的方法。所以我得到的是多个玩家"对象,它们都有.div_tab按钮。当我点击播放器按钮时,我需要能够在单独的播放器上执行操作。单击按钮时,此代码不执行任何操作。

为什么呢?怎么修?谢谢!

$(document).ready(function() {
  for (let i in players)
  {
    $(players[i].div_tab[0]).on('click', function() {
      console.log("Hello world!");
    });
  }
});

(编辑)
我使用以下代码创建标签:

  this.addTab = function(name, id)
  {
    this.tabs.html(this.tabs.html() + "<div class='tab' id='"+id+"'>"+name+"</div>");
  }
  this.addTab("Select", "select");
  this.addTab("Customize", "customize");
  this.addTab("Audio Line", "audio-line");
  this.addTab("Audio Circle", "audio-circle");
  this.div_tab = this.tabs.find('div.tab');

2 个答案:

答案 0 :(得分:0)

根本不需要循环。只需提供需要将回调作为常见CSS类的元素,然后就可以非常简单地设置回调:

&#13;
&#13;
$(function() {
  $(".commonHandler").on('click', function() {
    console.log("Hello world!");
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" class="commonHandler">Click Me</button>
<button type="button">Click Me (but I won't do anything because I don't have the class)</button>                         <!-- <-- Not part of the group! -->
<input type="button" class="commonHandler" value="Click Me">
<span class="commonHandler">Click Me</span>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

对于眼前的问题,我想你想要:

    $(document).ready(function() {
      for (let i in players)
      {
        $(i.div_tab[0]).on('click', function() {
          console.log("Hello world!");
        });
      }
    });

因为我已经成为列表播放器中的每个实例...... 更一般地说,查看页面的其余部分可能有所帮助: - )。