我访问了一个包含多个复选框的网页,每个复选框都有一个自己的名字。
我希望检查或取消选中一个方框,但我想为每个方框设置快捷键,因此请使用鼠标或标签+空格。
怎么可能?
答案 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 并选中第一个复选框,再次按热键并取消选中。
<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;
答案 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');
});