我正在使用此函数来处理搜索文本框上的输入单击,但它会触发页面中的另一个按钮,如何阻止该按钮被触发并调用我的 search() 函数。
InputKeyPress(e) {
if (window.event) {
if (event.keyCode == 13) {
search();
}
} else {
if (e) {
if (e.which == 13) {
search();
}
}
}
}
最佳答案
在 keyCode == 13
情况下,您需要阻止 keypress
事件的默认操作。执行此操作的标准方法是在事件对象上调用 preventDefault
函数(如果有的话;在早期版本的 IE 上没有)。较旧的方法是从事件处理函数返回 false
。采取“安全带和大括号”的方式同时做到这两点并没有什么真正的坏处。 :-)
您还可以稍微缩短您的函数:
function InputKeyPress(e) {
var keyCode;
e = e || window.event;
keyCode = e.keyCode || e.which;
if (keyCode == 13) {
search();
if (e.preventDefault) {
e.preventDefault();
}
return false;
}
}
关于javascript - 如何在按下回车键时停止触发按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237032/