【发布时间】:2020-01-04 23:15:13
【问题描述】:
尝试按回车键进行搜索。与按钮一起使用,但由于某种原因,我的按键代码不起作用。 Javascript:
function displayMatches() {
const searchText = document.querySelector('.search').value;
const matchArray = findMatches(searchText, name);
const html = matchArray.map(place => {
const regex = new RegExp(searchText);
const nameName = place.name.replace(regex, `<span class="hl">${searchText}</span>`);
return `
<a href="${place.url}" target="_blank">
<li>
<span class="name">${nameName} <br> ${(place.price)}</span>
<img src="${place.imgurl}" alt="Drink Image" height="87.5" width="100">
</li>
</a>
`;
}).join('');
suggestions.innerHTML = html;
}
const suggestions = document.querySelector('.suggestions');
const searchBtn = document.querySelector('.btn-search');
searchBtn.addEventListener('click', displayMatches);
var input = document.getElementById('.search');
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById('.btn-search').click();
}
});
【问题讨论】:
-
你的keyup事件监听器触发了吗?
-
为什么不调用 keyup 事件处理程序中的
displayMatches函数,而是以编程方式单击按钮?您可能想要包含您的 HTML,以便我们可以看到您的.search元素是什么。 -
这能回答你的问题吗? execute function on enter key 它使用 keydown 而不是 keyup。
-
您正在搜索带有
id=".search"和id=".btn-search"的元素。这是你的意图吗?这看起来像你在想你正在搜索一个类名。 -
你有一些 html 吗
标签: javascript html button