简要概要,这段代码非常精美,除了webkit上的单选按钮外,还可以实现它的功能。
$('input, textarea, select').focus(function(){
$(this).parents('.row').addClass("hilite");
}).blur(function(){
$(this).parents('.row2').removeClass("hilite");
});
我做了一些研究并测试了几次并使用
$('input, textarea, select').bind('change'(){
$(this).parents('.row').addClass("hilite");
}).blur(function(){
$(this).parents('.row').removeClass("hilite");
});
我能够使用webkit单选按钮,但它不承认模糊,因此不会删除hilite。那么有没有另一种方法来写这个,所以它将删除模糊vs mouseleave上的类(这确实有效)。一如既往地感谢!
答案 0 :(得分:1)
尝试为:radio
按钮提供点击事件以强制对焦。似乎在webkit中工作。
试一试: http://jsfiddle.net/5dDQn/
$(':radio').click(function() {
$(this).focus();
});
答案 1 :(得分:0)
这种做法可能不符合“漂亮”的要求,但我会这样做:
$('input, textarea, select')
.focus(function() {
$(this).parents('.row').addClass('hilite');
if ($(this).is(':radio')) {
$(this).one('mouseleave', function () {
$(this).parents('.row').removeClass('hilite');
});
}
})
.blur(function() {
$(this).parents('.row2').removeClass('hilite');
});
这取决于我相信你指出的东西 - 单选按钮会接受焦点,似乎不会触发模糊,但是mouseleave似乎正常工作。