始终在jquery buttonset中的第一个按钮上触发悬停颜色 - 如何停止它?

时间:2014-07-09 13:54:31

标签: jquery css jqueryi-ui-buttonset

我有这个按钮:

<input type="radio" id="p1" name="pi" /><label for="p1">3</label>
<input type="radio" id="p2" name="pi" /><label for="p2">2</label>
<input type="radio" id="p3" name="pi" /><label for="p3">1</label>
<input type="radio" id="p4" name="pi" checked="checked" /><label for="p4">0</label>
<input type="radio" id="p5" name="pi" /><label for="p5">1</label>
<input type="radio" id="p6" name="pi" /><label for="p6">2</label>
<input type="radio" id="p7" name="pi" /><label for="p7">3</label>

并使用

触发jquery按钮样式
$("#pi").buttonset();

它工作正常,只有p1按钮始终以悬停颜色突出显示。

只要单击一个按钮,样式就会正常运行,但是对于看到中间按钮正确突出显示(选中)的用户来说,它看起来很混乱,第一个按钮也会突出显示,尽管颜色不同。

有没有办法可以重置悬停?

干杯

2 个答案:

答案 0 :(得分:1)

试试这个:

DEMO IN JSFIDDLE

$(document).ready( function() {

  // Add the "focus" value to class attribute 
  $('ul.radio li').focusin( function() {
    $(this).addClass('focus');
  }
  );

  // Remove the "focus" value to class attribute 
  $('ul.radio li').focusout( function() {
    $(this).removeClass('focus');
  }
  );
}
);

答案 1 :(得分:1)

谢谢你们

我最终绑定到按钮组后面的文本字段上打开一个焦点。

open: function(){ $("#myTextField").focus(); }

它会从按钮组中移除焦点,使悬停突出显示消失。