带有多个复选框的网页

时间:2015-03-20 13:04:18

标签: javascript web

我访问了一个包含多个复选框的网页,每个复选框都有一个自己的名字。

我希望检查或取消选中一个方框,但我想为每个方框设置快捷键,因此请使用鼠标或标签+空格。

怎么可能?

3 个答案:

答案 0 :(得分:0)

在javascript中创建keyListener

<script type="text/javascript">
    $(document).bind('keyup', function(e) {
        arguments[0].key == 'Esc' // this is the pressed key
    });
</script>

答案 1 :(得分:0)

基于JS的解决方案已经有了答案,所以我不会在这方面浪费时间。

您可以使用HTML属性accesskey,它是一个无JS的解决方案,并且可以访问友好。

例如,在下面的演示中,按 Alt + 1 并选中第一个复选框,再次按热键并取消选中。

&#13;
&#13;
<label accesskey="1"><input type="checkbox"> 1</label>
<label accesskey="2"><input type="checkbox"> 2</label>
<label accesskey="3"><input type="checkbox"> 3</label>
<label accesskey="4"><input type="checkbox"> 4</label>
<label accesskey="5"><input type="checkbox"> 5</label>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

@ jordi-castilla说,做一个关键的倾听者。将每个键映射到输入。

例如:

<script type="text/javascript">
    $(document).bind('keyup', function(e) 
    {
        switch(e.keyCode)
        {
            case 49: // represents 1
                toggleCheckbox('name_of_checkbox');
                break;
            ...
        }
    });

    function toggleCheckbox(name)
    {
        var checkbox = $('input[name='+name+']');

        checkbox.attr('checked', !checkbox.attr('checked'));
    }
</script>

对于密钥代码,请检查以下链接: Key Codes

- 编辑 -

你也可以使用jQuery插件热键:
https://github.com/jeresig/jquery.hotkeys

$(document).bind('keydown', 'ctrl+a', function() {  
     toggleCheckbox('name_of_checkbox');
});