javascript - ajax,javascript - 使用两个事件启动函数

标签 javascript ajax events

我有一个功能,我需要在单击或按 Enter 键时启动。 所以我需要类似的东西:

<BUTTON onclick="searchProduct()" or onkeypress="searchProduct()">Hledat</BUTTON>

但仅限于按 Enter 键。不在任何键上。

这对于 Ajax 或纯 JavaScript 来说可能吗?

好吧,没想到这么复杂,所以我给了你我的整个代码,因为你的答案不适用于我的整个代码......

<!DOCTYPE html>
<HTML>
    <HEAD>
        <META charset="UTF-8" />
        <TITLE>Searchin engine</TITLE>
    </HEAD>
    <BODY>
        <SCRIPT src="js_search.js"></SCRIPT>
        <FORM>
            <INPUT type="text" id="word" size="40" />
        </FORM>
         <BUTTON onclick="searchProduct(document.getElementById('word').value)">Hledat</BUTTON>
        <P id="display"></P>

    </BODY>
</HTML>

最佳答案

只需在 JavaScript 中添加事件监听器(例如,在 searchProduct() 函数上方)

document.getElementById('button').addEventListener('click', function(){
  searchProduct(document.getElementById('word').value);
})

document.getElementById('button').addEventListener('keydown', function(e){
  if(e.keyCode == 13) searchProduct(document.getElementById('word').value); // the keyCode 13 is equivalent to the enter key
})

function searchProduct(val) {
  alert(val);
}
<button id="button">Hledat</button>
<input id="word" value="foo"/>

希望这有帮助!

关于javascript - ajax,javascript - 使用两个事件启动函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177572/

相关文章:

javascript - Node.js 函数、对象和变量

javascript - 从字符串中去除特定字符位置的更简洁方法?

php - Amazon S3 - 405 方法不允许使用 POST(尽管我允许在存储桶上使用 POST)

javascript - 禁用 Javascript 中的 dom 更改事件?

javascript - 如何通过sequelize.js中的函数进行过滤

javascript - 使用解构的动态命名值

javascript - 当滚动到底部时通过ajax加载内容

ajax - 无法捕获 JSF 2 应用程序上的 ajax 错误

java - 如何从Java2D生成的图形生成事件

Android 自定义事件监听器