需求:监听Ctrl + F 键,执行搜索框显示,并光标定位到搜索框。

知识储备:

1、键盘按键键码值(keyCode),字母和数字键的键码值 (keyCode)

2、监听ctrl(cmd)+ s事件:

document.onkeydown = function(e) {
        var keyCode = e.keyCode || e.which || e.charCode;
        var ctrlKey = e.ctrlKey || e.metaKey;
        if(ctrlKey && keyCode == 83) {
            alert('按住了 CTRL+S');
        }
        e.preventDefault();
        return false;
}

综合实现代码如下:

搜索框id为search,先前通过css设置display属性为none,输入框id为s

$(function(){
    if(window.localStorage.getItem("search") == 'yes'){
        document.getElementById("search").style.display="block";
    }else{
        document.onkeydown = function(e) {
        var keyCode = e.keyCode || e.which || e.charCode;
        var ctrlKey = e.ctrlKey || e.metaKey;
        if(ctrlKey && keyCode == 70) {
            window.localStorage.setItem("search", "yes");
            document.getElementById("search").style.display="block";
            document.getElementById('s').select();
            e.preventDefault();
            jQuery('html, body').animate({ scrollTop: 0 }, 500);
            return false;
            }
        }
    }
    
});

前提:引入jQuery,使用cookie记录,是为了避免一直监听按键导致输入失效。

作者:松子分享-JS监听键盘按键执行操作

Invitation
QQ Group
1095632335

created:04/01/2020

Welcome to the Group

Use this card to join us and participate in a pleasant discussion together .

Welcome to JISHUSONGSHU Group,wish you a nice day .