关于javascript:使用键盘按钮提交网页?

Submitting web using keyboard buttons?

本问题已经有最佳答案,请猛点这里访问。

我的简单html网页上有几个按钮,可以调用一些javascript:

1
2
3
  <input type="image" src="button_start.png" onClick="start();">
  <input type="image" src="button_stop.png" onClick="stop();">
  <input type="image" src="button_reset.png" onClick="reset()">

我想要的是能够按三个单独的键盘键,只需让他们"按下"按钮或调用javascript代码。 最简单的方法是什么?


您可以添加键侦听器,并根据按下的键调用相应的函数。

然而,由于安全性而实际调度/模拟按钮点击事件是非常困难的。

下面是一个使用javascript的示例,当按下键码13时,将调用start()

您可以在此处查看代码:http://www.quirksmode.org/js/keys.html

使用Javascript

1
2
3
4
5
window.addEventListener('keypress', function (e) {
    if (e.keyCode !== 13) {
        start();
    }
}, false);


你可以试试这个

1
2
3
4
5
6
7
window.addEventListener('load', function(e){
    var keys = { 't' : 'start', 's' : 'stop', 'r' : 'reset' };
    window.addEventListener('keypress', function (e){
        var fn = String.fromCharCode(e.which||e.keyCode);
        if(fn in keys) window[keys[fn]]();
    });
});

t开始,s表示停止,r表示复位。此外,您可以更改键,如果要为start功能设置s键,则相应地更改keys对象中的键,但一个键应使用一个键。

DEMO。


使用快捷键jquery插件ShortKey插件

1
2
3
$(document).shortkeys({
  's': function () { start(); },'o': function () { stop(); },'r': function () { reset(); }
});


您可以侦听keydown事件,并且可以使用键代码来识别按下哪个键来执行这些功能。请参阅https://developer.mozilla.org/en-US/docs/Web/API/event.keyCode