2016-11-15 87 views
0

我有虚拟键盘。
当任何按键被按下时,我想要激活按钮。
我使用CSS活动类。有用。但它只有当我按下鼠标按钮时才起作用。
如果我按键盘上的按钮它不起作用。
这里是我的CSS如何使用java脚本或jQuery的活动按钮?

#keyboard li:active { 
    position: relative; 
    top: 1px; 
    left: 1px; 
    background-color: #e74c3c; 
    border-color: #e5e5e5; 
    cursor: pointer; 
    color:white; 
} 

这是链接
http://projects.imube.com/keyboard/

+0

你能提供一个相同的工作片段吗? –

回答

1

var hey = document.getElementById('hey'); 
 

 
let makeActive =() => { 
 
    hey.classList.contains('active') ? hey.classList.remove('active') : hey.classList.add('active'); 
 
} 
 

 
hey.onclick = makeActive; 
 

 
window.onkeypress = (e) => { 
 
    let key = e.keyCode || e.which; 
 

 
    if(e.keyCode == 13) { 
 
    makeActive(); 
 
    } 
 
}
a.active { 
 
    color: red; 
 
}
<a id="hey">Press Enter or Click this!</a>

需要两个不同的事件处理程序。一个是按键并单击。

这里你可以得到的keyCode:https://css-tricks.com/snippets/javascript/javascript-keycodes/

希望它能帮助。

+0

OP使用了jQuery,所以如果你为每个按钮添加一个类'key'和'keyCode'作为id,会更容易。所以你可以做'$('.key')。removeClass('active'); $('#'+ e.keyCode).addClass('active');'每当有一个keyPress –

+0

OP说javascript或jQuery。由于渲染速度快,我喜欢javascript。 –

相关问题