如何在输入中绑定两个键盘键,如 Ctrl + L
Posted
技术标签:
【中文标题】如何在输入中绑定两个键盘键,如 Ctrl + L【英文标题】:How to bind two keyboard keys like Ctrl +L in an input 【发布时间】:2019-11-15 15:49:07 【问题描述】:我有一个文本输入和一个按钮(见下文)。当按下某个“Ctrl + Enter(其他快捷键)”键时,如何使用 javascript 触发按钮的单击事件?
<input type="text" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />
【问题讨论】:
【参考方案1】:这些键在事件值中的存储方式不同,因此您可以检查它们是否都像这样被按下
if(event.keyCode == 13 && event.ctrlKey)
//insert logic
其他键也可以通过这种方式访问。
【讨论】:
【参考方案2】:你可以试试keyCode
和ctrlKey
:
function check(e)
tecla = (document.all) ? e.keyCode : e.which;
if(tecla == 13 && e.ctrlKey)
alert("hello");;
<input type="search" onkeydown="return check(event);" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />
希望对你有帮助。
【讨论】:
【参考方案3】:在javascript中,你可以这样做
<script>
document.onkeyup = function(e)
if (e.which == 77)
alert("M key was pressed");
else if (e.ctrlKey && e.which == 66)
alert("Ctrl + B shortcut combination was pressed");
else if (e.ctrlKey && e.altKey && e.which == 89)
alert("Ctrl + Alt + Y shortcut combination was pressed");
else if (e.ctrlKey && e.altKey && e.shiftKey && e.which == 85)
alert("Ctrl + Alt + Shift + U shortcut combination was pressed");
;
</script>
或者您可以使用库 - https://wangchujiang.com/hotkeys/
【讨论】:
以上是关于如何在输入中绑定两个键盘键,如 Ctrl + L的主要内容,如果未能解决你的问题,请参考以下文章