2013-02-27 115 views
0

如果我通过包含单选按钮的表单元素进行标签选择,有没有办法在选项卡中选择(检查)单选按钮?当我标签到文本字段时,它会得到一个焦点,这在视觉上很清晰,但不是单选按钮。我认为应该可以用jQuery。检查标签上的单选按钮

这将选择它而不是焦点,点击后

$(':input:visible').keypress(function(event) { 
     if(event.keyCode == '9' && $(this).is(':radio')) { // Tab 
      $(this).attr('checked', true); 
     } 
}); 
+0

你尝试过什么?作为一个> 2000的用户,您可能已经知道如何在此提出问题。处理“焦点”事件或检查单选按钮有问题吗?顺便说一句,单选按钮也会在你选中时得到焦点(如果你没有覆盖默认样式,也应该用浏览器指定),然后按空格键(至少在我的浏览器中)。 – kapa 2013-02-27 23:13:05

+0

我可以用鼠标点击来检查按钮。我的问题是 - 是否可以检查tabbing?我正在处理一些CSS冲突,但由于其他可能不明显的依赖关系,我无法改变这种冲突。我正在努力解决当地的情况。你有其他建议吗? – santa 2013-02-27 23:23:30

+0

当你选中或点击它时,一个'onfocus'事件将触发单选按钮。 – kapa 2013-02-27 23:32:51

回答

3

你可以尝试处理focus事件:

$(':radio').focus(function() { 
    this.checked = true; 
}); 

jsFiddle Demo

+0

我喜欢这个,它在IE中需要两个标签...为什么? – santa 2013-03-14 19:09:27

+0

@santa我在'input'上留下了一个'tabindex = 1',而在IE中,接下来有一个不同的元素(我不知道是什么)。它与“解决方案”本身无关,当单选按钮获得焦点时,“焦点”事件总是激发。 – kapa 2013-03-14 21:39:04