单击此绑定指向窗口

时间:2019-04-02 18:13:40

标签: javascript this

我正在尝试获取事件处理程序处于打开状态的按钮,我只是尝试通过this到达该按钮,但是正在获取窗口。这对我来说没有意义,因为事件处理程序不是箭头函数。
removeBank已附加到delButton

getBankList = async (error, event) => {
  const tBody = document.getElementsByTagName("tbody")[0]
    const values = event.returnValues;
    ...

    var row = document.createElement("tr"); 

    for (let i = 0; i < elements.length; i++) {
    ...
    }

    const delButton = document.createElement("button");
    delButton.setAttribute("class", "btn btn-icon btn-delete");
    delButton.setAttribute("onclick", "removeBank();");
    const delIcon = document.createElement("i");
    delIcon.setAttribute("class", "fas fa-trash-alt");
    delButton.appendChild(delIcon);
    row.appendChild(delButton);

    tBody.appendChild(row);
}

removeBank = async function() {
  if (window.KYCinstance) {
    console.log(this);
  } else {
    throw new Error('KYC instance not loaded')
  }    
}

2 个答案:

答案 0 :(得分:3)

通过按钮event.target到达

答案 1 :(得分:3)

使用addEventListener绑定事件。

delButton.addEventListener("click", removeBank);