Javascript 如何通过document.getElementById(";BtnID";)调用onclick/button pressed效果。单击()
我正在尝试创建屏幕键盘。Javascript 如何通过document.getElementById(";BtnID";)调用onclick/button pressed效果。单击(),javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建屏幕键盘。 我已经添加了按钮,并用键盘键绑定了这些按钮。因此,用户可以单击页面上的按钮来键入或使用实际的物理键盘。JavaScript: document.onkeydown = function (e) { e = e || window.event; switch (e.which || e.keyCode) { case 65: document.getElementById("A").click(); break;
我已经添加了按钮,并用键盘键绑定了这些按钮。因此,用户可以单击页面上的按钮来键入或使用实际的物理键盘。
JavaScript:
document.onkeydown = function (e) {
e = e || window.event;
switch (e.which || e.keyCode) {
case 65: document.getElementById("A").click(); break;
case 83: document.getElementById("S").click(); break;
case 68: document.getElementById("D").click(); break;
}
}
HTML:
<button class="button" type="button" onclick="Print('A')" id="A">A</button>
<button class="button" type="button" onclick="Print('S')" id="S">S</button>
<button class="button" type="button" onclick="Print('D')" id="D">D</button>
A
s
D
一切正常,问题是当我用物理键盘打字时,按键效果没有显示出来。document.getElementById(“某物”).click()似乎没有发挥按键效果。屏幕上的按钮保持静止。如果我用鼠标按下按钮,按钮按下效果会非常好。
请看以下图片:
您可以使用jQuery API中的
.keypress()
:
我会解决css样式的问题
Print=功能(按钮){
button.className='按钮处于活动状态';
setTimeout(函数(){button.className='button';},500);
log(button.innerHTML);
}
document.onkeydown=函数(e){
e=e | | window.event;
var key=(e.which | e.keyCode),
按下={65:'A',83:'S',68:'D'};
如果(按下[键]=“未定义”的类型)
返回;
document.getElementById(按[键])。单击();
}
.button.active{
背景:#333;
颜色:#FFF;
}
A
s
D
谢谢您的回复。这很有效。但现在我已经改变了我的css一点。现在我有了.button{…}
,`.button:after{…}`和.button:active:after{…}
,我如何调整我的代码,使其在按键盘键时发挥效果?请参阅以下内容,以避免使用伪类“:active”。。始终使用真正的css类(f.E:'.button.active:after),并在每个事件上更改button类。(按键、点击等)你知道我的意思吗?最美好的祝福