Javascript-将单击事件绑定到多个元素

Javascript-将单击事件绑定到多个元素,javascript,javascript-events,event-handling,Javascript,Javascript Events,Event Handling,我有一个选择菜单,我想将一个单击事件绑定到每个元素。其目的是在单击/选择某个类时将其添加到元素中。这是我的html和Javascript。我缺少选择元素并将事件绑定到它们的方法。我们将不胜感激 Html: Javascript 最好为select创建一个事件,然后检查事件中的值 function selectClicked(id){ console.log(id); myFunction() ; } function myFunction() { console.log("Click

我有一个选择菜单,我想将一个单击事件绑定到每个元素。其目的是在单击/选择某个类时将其添加到元素中。这是我的html和Javascript。我缺少选择元素并将事件绑定到它们的方法。我们将不胜感激

Html:

Javascript


最好为select创建一个事件,然后检查事件中的值

function selectClicked(id){
  console.log(id);
  myFunction() ;
}
function myFunction() {
  console.log("Click Event");
}
var options = document.getElementById('SelectMenu');
options.setAttribute("onchange", function(){selectClicked(options.value);});

最好为select创建一个事件,然后检查事件中的值

function selectClicked(id){
  console.log(id);
  myFunction() ;
}
function myFunction() {
  console.log("Click Event");
}
var options = document.getElementById('SelectMenu');
options.setAttribute("onchange", function(){selectClicked(options.value);});

让我们看看您的代码的作用:

function myFunction() {
  console.log("Click Event");
}
非常简单,一个函数

接下来,

var options = document.getElementById('SelectMenu');
因此,选项被指定为SelectMenu元素。嗯

for ( var i = 0; i < options.length; i++ ) {
  console.log(options[i].value);
  options[i].addEventListener('click', myFunction, false)
}
就这样

如果想知道单击了哪个选项元素,还应该为回调函数定义一个事件参数,如下所示

function myFunction(e) {
  //e.target is the <select> element
  console.log(e.target.value);
  console.log("Click Event");
}

为弗雷德里克干杯。

让我们看看你的代码有什么作用:

function myFunction() {
  console.log("Click Event");
}
非常简单,一个函数

接下来,

var options = document.getElementById('SelectMenu');
因此,选项被指定为SelectMenu元素。嗯

for ( var i = 0; i < options.length; i++ ) {
  console.log(options[i].value);
  options[i].addEventListener('click', myFunction, false)
}
就这样

如果想知道单击了哪个选项元素,还应该为回调函数定义一个事件参数,如下所示

function myFunction(e) {
  //e.target is the <select> element
  console.log(e.target.value);
  console.log("Click Event");
}

为弗雷德里克干杯。

你不需要把事件和s绑定在一起。将单个更改处理程序绑定到,然后根据所选的.value执行适当的操作。不将事件绑定到。将单个更改处理程序绑定到,然后根据所选的.value执行相应的操作。非常感谢您的回答。我正要发疯,想弄明白这件事。它工作得很好。类的添加是为了数据收集。现在我只需要将类限制为一个选项,以防止多个标记具有相同的类。**非常感谢你的回答。我正要发疯,想弄明白这件事。它工作得很好。类的添加是为了数据收集。现在我只需要将类限制为一个选项,以防止多个标记具有相同的类。**关节裂开**