如何在Javascript中设置“第一个单词热键”按钮?

时间:2014-01-22 13:11:58

标签: javascript jquery html hotkeys

情况:我有一个HTML表单,在其中,我有一些<input>有一些信息,而<input type=submit>是发送按钮,谁发送表单内容到动作参数设置的URL。

问题:缺少知识(我不知道该怎么做)。

我想要的解释:我想要一个热键,比如,现在点击你的浏览器或其他常用软件,如记事本键盘的 Alt 键。您将在屏幕顶部看到一个菜单,以及一些带有下划线的Word:

Alt menu

嗯,你看到带有下划线的 F ,你知道如果按下 F 键,文件菜单将被打开

详细信息:我想要的热键与上面的示例略有不同,但具有相同的概念。因为我想允许用户按下: Alt + F 而不是仅仅 F 来自动点击具有 F的按钮设置为自己的热键。

这样,我可以放置一个<input id=F type=button>我使用的属性ID,如果按 Alt + F ,则会自动点击该按钮。

理论上,也许它很容易,但我真的不知道如何在Javascript上做到这一点。

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

你想要的是

<input type="submit" accesskey="F"/>

现在,当用户点击 Alt + F (或 Alt + Shift + F时在Firefox上)就好像他点击了提交按钮一样。

编辑:在firefox上使用 Alt + F 也看到这个主题:http://forums.mozillazine.org/viewtopic.php?t=446830

  

您可以将其更改回使用的方式:config,更改:

     

ui.key.chromeAccess to 5

     

ui.key.contentAccess to 4

在Opera中,按 Shift + Esc 。这将打开当前页面的访问密钥列表。然后,您可以按访问密钥列表中的任何数字,以按照相应的链接。用户可以在Tools > Preferences > Mouse and keyboard下更改此键盘快捷键。

答案 1 :(得分:0)

如果您要使用jQuery.hotkeys,那么您可以将每个键或键击绑定到一个函数并以这种方式处理它。

如果您为按钮指定了您希望他们回复的密钥的ID,您可以执行以下操作:

$(document).ready(function () {
    var $doc, altKeys, modified;
    $doc = $(document);
    modified = function (ev) {
        var selector;
        selector = '#' + ev.data.replace(/^alt\+/, '');
        $('button').css({background: 'transparent'});
        $(selector).css({background: 'red'});
    };
    $('button').each(function () {
        var key;
        k = $(this).attr('id');
        $doc.bind('keydown', 'alt+' + k, modified);
    }); 
});

有关工作示例,请参阅this fiddle