我有两个问题,有些相关。
1) 可以将下面的 2 个函数组合成 1 个更精简的函数,或者我必须简单地创建一个函数并在两个事件监听器中调用它
input.addEventListener("keyup", () => {
if (event.keyCode === 13) {
// code here
}
和
input.addEventListener("click", () => {
// code here
}
但这本质上是重复代码
2) 有没有办法根据数组的内容制作一种简单/基本的自动完成菜单(类似于谷歌,但远不及它强大)?在输入/搜索栏中输入时?为澄清起见,w3schools 示例对我不起作用。
最佳答案
这是将多个事件附加到单个元素的方法。 作为引用,您可以查看 mozilladocs
var elem = document.querySelector('input')
elem.addEventListener('keyup', eventhandler, false);
//elem.addEventListener('click', eventhandler, false);// not sure about this event
elem.addEventListener('keydown', eventhandler, false);
function eventhandler(event) {
if (event.keyCode === 13) { // you press enter you get alert
alert("hi");
}
}
<input type="text" id="field">
关于javascript - 有没有一种方法可以同时添加 onkeypress 和 onclick 事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931622/