javascript - 如何在按下回车键时停止触发按钮

标签 javascript button click keycode

我正在使用此函数来处理搜索文本框上的输入单击,但它会触发页面中的另一个按钮,如何阻止该按钮被触发并调用我的 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/

相关文章:

javascript - 如何删除嵌套 foreach 中的循环数组值?

android - 如何以编程方式更改按钮的图标?

css - 如何在 PrimeNG 10 中将投影到按钮的内容居中对齐?

javascript - Vanilla Javascript 下拉菜单

javascript - 如何通过带有指针事件的 SVG 仅传递点击?

javascript - 我所有的 css 和 javascript 都应该放在自己的文件夹中吗?

Javascript - 按多个条件对数组进行排序

javascript - 如何使用 JQuery 删除 iframe 中的元素?

javascript - 如何在单击按钮时删除表格行

javascript - Backbone : get data of item that was clicked