当用户在文本框(KeyCode === 13)中按Enter键时,该函数运行,但我无法使其与searchButton一起使用

function myFunction(e) {
    if(e.keyCode === 13 || document.getElementById("searchButton").click()){
        e.preventDefault();
        var searchValue = document.getElementById("mySearch").value;
        for(var i = 0; i < users.length; i++){
        if(users[i]['last_name'] === searchValue){
        document.getElementById("return").innerHTML = JSON.stringify(users[i]);
        return;
        }
     }
  }
}

<input type="search" id="mySearch"  onkeypress="myFunction(event)" />
<button id="searchButton" onclick="myFunction(e)">SEARCH</button>


问题是||表达式吗?当用户按searchButton或按Enter时,该功能应运行。

最佳答案

调用document.getElementById("searchButton").click()是模拟点击的一种编程方式。

您可能想做的是:

function myFunction(e) {
    if((e.target.id === 'mySearch' && e.keyCode === 13) || e.target.id === 'searchButton'){

    }
}

07-24 20:38