如何从 table 调用按钮?

How to call a button from a table?

我正在为一个网页制作快捷方式,当按下我的 ESC 键时点击一个按钮,而不是必须按下鼠标并点击它。我似乎无法让它工作。

document.getElementsByTagName('idOrderOpenTable').openMarketOrdersTable[1].click();

您正在使用 document.getElementsByTagName 方法从 <table id="idOrderOpenTable"></table> 获得 children,但您应该使用 document.querySelector。 例如:

document.querySelector("#idOrderOpenTable .openCancelBtn").click()

您可以试用此示例并根据需要进行修改,

function keydownFunction(e) {
 if (e.keyCode === 27){
    document.getElementById("button").click();
    }
}
<!DOCTYPE html>
<html>
<body onkeydown="keydownFunction(event)">

<div >Test <input type="button" value="Button" id="button" onclick="alert('Hello');"/></div>

</body>
</html>

脚本查找按下的 esc 键并调用按钮的点击。

要在 table 中找到您的按钮,请使用 querySelector()。它 returns 第一个与您的查询匹配的元素。

var button = document.getElementById('openMarketOrdersTable').querySelector('.openCloseBtn');

document.addEventListener('keydown', function(e) {

  var isESC = (e.keyCode ? e.keyCode : e.which) === 27;
  
  if(isESC) {
  
    button.click();
    
  }
  
});

button.addEventListener('click', function(e) {

  console.log('Button was clicked.');

});
<table id="openMarketOrdersTable">
  <tbody>
    <th>
      <button class="openCloseBtn">Press me with an ESC.</button>
    </th>
  </tbody>
</table>