Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向循环中的一组元素添加不同的事件侦听器_Javascript - Fatal编程技术网

Javascript 向循环中的一组元素添加不同的事件侦听器

Javascript 向循环中的一组元素添加不同的事件侦听器,javascript,Javascript,各位网友好,, 我有一组按钮,如果单击一个按钮,它的内容应该附加到文本字段的内容中 假设我有三个按钮:[第一][第二][第三] 我的addEventListener实现会将“第三个”附加到in-text字段的内容中,而不管我按哪个按钮。我不知道怎么解决这个问题 function setupListeners() { var targetInputField = d.querySelector("#expression"); var t = d.querySelectorAll("

各位网友好,, 我有一组按钮,如果单击一个按钮,它的内容应该附加到文本字段的内容中

假设我有三个按钮:[第一][第二][第三] 我的addEventListener实现会将“第三个”附加到in-text字段的内容中,而不管我按哪个按钮。我不知道怎么解决这个问题

function setupListeners() {
    var targetInputField = d.querySelector("#expression");
    var t = d.querySelectorAll(".expression-button").length;
    for (var i = 1; i <= t; i++) {
        var btnElem = d.querySelector("#expression-button-"+i);
        btnElem.addEventListener('click', function() {
            if (targetInputField.value == "") {
                targetInputField.value = btnElemLocal.innerText;
            }
            else {
                targetInputField.value += ";"+btnElemLocal.innerText;
            }
        });
    }
}
函数setupListeners(){
var targetInputField=d.querySelector(“表达式”);
var t=d.queryselectoral(“.expression button”).length;

对于(var i=1;i将单击事件代码放在另一个函数中(
btnClick
,在我的示例中)并在将事件附加到循环中时调用它。addEventListener()
,然后使用
this
引用当前单击的元素:

function btnClick() {
  var targetInputField = d.querySelector("#expression");

  if (targetInputField.value == "") {
    targetInputField.value = this.innerText;
  }
  else {
    targetInputField.value += ";"+this.innerText;
  }
}
希望这有帮助

var d=文档;
函数setupListeners(){
var t=d.queryselectoral(“.expression button”).length;

对于(var i=1;i将单击事件代码放在另一个函数中(
btnClick
,在我的示例中)并在将事件附加到循环中时调用它。addEventListener()
,然后使用
this
引用当前单击的元素:

function btnClick() {
  var targetInputField = d.querySelector("#expression");

  if (targetInputField.value == "") {
    targetInputField.value = this.innerText;
  }
  else {
    targetInputField.value += ";"+this.innerText;
  }
}
希望这有帮助

var d=文档;
函数setupListeners(){
var t=d.queryselectoral(“.expression button”).length;
对于(var i=1;i