单选按钮看起来检查悬停事件?

时间:2013-02-07 09:03:52

标签: events radiobuttonlist

是否可以通过鼠标悬停事件来控制单选按钮的显示?

目标是在鼠标结束时查看它并在鼠标离开时取消选中。但只有在点击时才会检查它。

2 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

$("input:radio").hover(function(){
        $(this).prop('checked', true);
}, function(){
        //MouseOut event
        $(this).prop('checked', false);
}).click(function(){
    //Unbind the hover event for all the radio buttons
    $("input:radio").unbind('mouseenter mouseleave')
    //Check clicked radio button
    $(this).prop('checked', true);
});

我为你做了一个小提琴:http://jsfiddle.net/B6qBz/

答案 1 :(得分:0)

稍微摆弄它之后,我想出了这个......看看这个fiddle,看看是否有诀窍......哦,既然你没有提到任何特定的语言,所以我实现了这一点用jQuery ...希望它有所帮助

这可能不是完美的解决方案,但它绝对符合要求:

HTML:

<input type="radio" name="cols" id="col-1" />
<br />
<input type="radio" name="cols" id="col-2" />
<br />
<input type="radio" name="cols" id="col-3" />

JS:

var clicked = false;
var clickedId;

$('input').click(function () {
    clicked = true;
    clickedId = $(this).attr('id');
});
$('input').hover(function () {
    $(this).prop('checked', true);
}, function () {
    if (clicked === true) {
        $('#' + clickedId).prop('checked', true);
    } else {
        $(this).prop('checked', false);
    }

});