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

按下/键聚焦MediaWiki搜索框时,斜杠被输入框捕获的问题

解决MediaWiki按下/键聚焦搜索框时输入斜杠的问题

问题核心是没有阻止浏览器的默认按键行为:当你按下/键触发keydown事件时,浏览器默认会把这个字符插入到当前(或刚被聚焦的)输入框里,哪怕你刚调用了focus(),这个默认行为还是会执行,导致斜杠被输入到搜索框中。

修改后的原生JS代码

document.addEventListener("keydown", function (event) {
    if (event.key === '/' && document.activeElement.id !== 'searchInput') {
        const searchInput = document.getElementById("searchInput");
        if (searchInput) {
            event.preventDefault(); // 阻止默认的字符输入行为
            searchInput.focus();
        }
    }
});

jQuery版本(MediaWiki内置,可直接使用)

$(document).on('keydown', function(event) {
    if (event.key === '/' && $(document.activeElement).attr('id') !== 'searchInput') {
        const $searchInput = $('#searchInput');
        if ($searchInput.length) {
            event.preventDefault();
            $searchInput.focus();
        }
    }
});

关键说明

  • event.preventDefault():直接阻止浏览器将/字符输入到输入框的默认行为
  • document.activeElement.id !== 'searchInput'判断:避免用户已经在搜索框中输入时,阻止正常的斜杠输入操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:12:03