You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在按下Enter键时触发HTML页面的搜索功能?

实现Enter键触发搜索的方案

完全可行,下面是两种适配你现有代码的实现方式:

方式一:完善全局按键监听函数

修改你已有的CheckEnter函数,判断按下的是Enter键时直接触发搜索按钮的点击事件:

window.document.onkeydown = CheckEnter;

function CheckEnter(event) {
    // 兼容不同浏览器的事件对象获取
    event = event || window.event;
    // 判断是否为Enter键(兼容新旧浏览器的判断方式)
    if (event.keyCode === 13 || event.key === 'Enter') {
        // 触发搜索按钮的点击事件
        $('#searchButton').click();
        // 阻止默认行为,避免页面不必要的跳转或刷新
        event.preventDefault();
    }
}

方式二:精准绑定输入框的按键事件(推荐)

相比全局监听,直接给搜索输入框绑定事件更高效,不会影响页面其他元素的按键行为:

$(function(){
    // 给搜索框绑定keydown事件
    $('#searchBox').on('keydown', function(event) {
        if (event.keyCode === 13 || event.key === 'Enter') {
            $('#searchButton').click();
            event.preventDefault();
        }
    });

    // 保留原有的搜索按钮点击逻辑
    $('#searchButton').click(function() {
        $('#financialServices').empty();
        
        // 你的AJAX搜索逻辑...
        $.ajax ({
            url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('FAQs')/items?$top=100&$orderby=Category,Title asc",
            dataType: 'json',
            async: false,
            headers: { "Accept": "application/json;odata=verbose" },
            success: function(data) {
                // 原有的成功回调逻辑...
            }
        });
    });
});

关键说明

  • event.preventDefault()用于阻止Enter键的默认行为(比如表单提交时的页面刷新),避免干扰搜索逻辑的执行。
  • 同时使用event.keyCode ===13和event.key === 'Enter'是为了兼顾新旧浏览器的兼容性,确保在不同环境下都能正常触发搜索。

内容的提问来源于stack exchange,提问作者Pete Whelan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:55:16