我正在使用类似终端的模式,使用bootstrap&我想在用户按 Ctrl + L 时清除它当他在其中写clear
时就会这样做
但问题是,当我按 Ctrl + L 时,它会聚焦网址栏,而我不再关注我的页面了。
在此部分中,警报正在显示,但它仍然会在以下情况后关注URL栏:
if(event.key == "l" && event.ctrlKey)
alert("clear it");
我已经尝试过一些事情,例如在一秒钟之后聚焦我的终端,或类似的东西。但没有任何效果 你有什么想法吗?谢谢你!
答案 0 :(得分:0)
这可能会有所帮助。但如果您按 L 两次而不离开 Ctrl 则无效。
抱歉,我正在使用 jQuery ,但我希望你有逻辑。var key = '';
$(document).on('keydown', function(e) {
key += e.keyCode;
console.log(key);
if (key === '9176' || key === '1776'){
key = '';
console.log('stopped');
return false;
}
});
$(document).on('keyup', function(e) {
key = '';
});
答案 1 :(得分:0)
嗯,我觉得这并不难
唯一有效的是e.preventDefault()
,我尝试了return false
,但事实并非如此。
if(event.key == "l" && event.ctrlKey)
{
event.preventDefault();
// ...
// what I wanted to do
}
谢谢大家的快速回答,尤其是Pawan。
答案 2 :(得分:0)
我同意Barmar的意见,但是你走了:
document.addEventListener("keydown", function(e) {
if ((navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) && e.keyCode === 76) {
e.preventDefault();
return false;
}
return true;
});