如何在按 Enter 键时停止触发按钮
我正在使用此函数来处理搜索文本框上的输入单击,但它会触发页面中的另一个按钮,如何阻止该按钮被触发并调用我的 search() 函数。
InputKeyPress(e) {
if (window.event) {
if (event.keyCode == 13) {
search();
}
} else {
if (e) {
if (e.which == 13) {
search();
}
}
}
}
I am using this function to handle enter click on a search textbox but it fires another button in the page, how to stop that button from being fired and call my search() function.
InputKeyPress(e) {
if (window.event) {
if (event.keyCode == 13) {
search();
}
} else {
if (e) {
if (e.which == 13) {
search();
}
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在
keyCode == 13
情况下,您需要阻止keypress
事件的默认操作。执行此操作的标准方法是在事件对象上调用preventDefault
函数(如果有的话;在早期版本的 IE 上没有)。较旧的方法是从事件处理函数返回false
。采取“安全带和大括号”的方式同时做到这两点并没有什么真正的坏处。 :-)你还可以稍微缩短你的函数:
In the
keyCode == 13
case, you need to prevent the default action of thekeypress
event. The standard way to do this is to call thepreventDefault
function on the event object (if it has one; it doesn't on earlier versions of IE). The older way is to returnfalse
from your event handler function. There's no real harm in a "belt and braces" approach of doing both. :-)You can also shorten your function a bit:
您需要像这样添加“return false”:
并将文本框的调用更改为:
这意味着不仅调用该函数,而且“返回”它。
You need to add "return false" like this:
And also change the call from the textbox to this:
Meaning not just call the function but "return" it.