在文本输入中按 Enter 键时触发<按钮>
Trigger <button> when pressing the Enter key in text input
>我正在制作一个搜索栏,将文本栏作为标签,将搜索按钮作为标签,我使用a而不是的原因是因为我在按钮上使用放大镜的图片,当我使用它时,它不想正确定位。
这是我的 HTML:
<form id="search-form" href="#test1" class="smoothscroll">
<input type="text" id="searchText" onClick="this.select();" placeholder="Search..."/>
<button type="button" id="searchButton">
<img src="magnify.png" id="magnify"/>
</button>
</form>
这是jquery:
$(document).ready(function () {
$("#searchButton").click(function () {
var text = document.getElementById('searchText').value;
$("html, body").animate({
scrollTop: ($('#' + text).offset().top)
}, 2000);
});
$("#searchText").keyup(function (event) {
if (event.keyCode == 13) {
$("#searchButton").click();
}
});
});
谢谢你的帮助。
根据文档,您应该使用 .which
而不是 keyCode:
$("#searchText").keyup(function(event){
if(event.which == 13){
$("#searchButton").click();
}
// Make sure the form isn't submitted
event.preventDefault();
});
若要确定按下了哪个键,请检查 传递给处理程序函数。虽然浏览器使用不同的 属性来存储此信息,jQuery 规范化 .其中 属性,以便您可以可靠地使用它来检索密钥代码。
试试这个
$("#searchText").keyup(function (event) {
var code= event.keyCode ? event.keyCode : event.which;
// or use simply, var code= event.keyCode || event.which;
if (code == 13) {
$("#searchButton").click();
}
});
演示
$("#searchText").keyup(function(event){
if (event.which === 13) {
$("#searchButton").trigger("click");
}
});
另请参阅 Javascript .keyCode vs. .which?
相关文章:
- 点击按钮输入不起作用
- JavaScript按钮/输入/函数,字符串反转
- 如何将表格中的文本添加到使用按钮输入的文本区域
- 如何从页面中获取所有内容,包括通过按钮输入的值
- 为按钮输入键
- Chrome应用程序在Webview中的按钮/输入上添加点击事件
- 如果用户更改下拉选择,jQuery将删除单选按钮/输入选项
- 如何在选中单选按钮(输入)时触发事件
- 如何将按钮/输入保留在图像下方
- 在条件jquery上启用按钮/输入区域
- 根据选定的单选按钮输入显示/隐藏 DIV
- 点击按钮输入在 Chrome 中不起作用
- 如何使按钮(输入类型=“提交”)在单击时消失
- 按钮输入上的 CSS 取消了 jQuery 中禁用的 prop 属性
- 如何获取按钮输入以显示在文本区域
- jQuery - 从按钮组中获取活动按钮(输入类型 = “radio”)
- 如何将字符串转换为来自按钮输入的 Int
- 根据单选按钮输入将表单发送给不同的收件人
- 单选按钮输入控制客户端验证
- 多个按钮输入到自己的文本框在同一页,