onmouseover仅检查输入单选按钮javascript

时间:2015-03-19 00:16:00

标签: javascript html css input radio-button

如果只是悬停在单选按钮上,我们如何创建onmouseover事件和javascript以制作单选按钮checked,而不是单击单选按钮?请不要jQuery。

<input type="radio" class="tryout" name="example" onmouseover="checkButton()" checked="checked">
<input type="radio" class="tryout" name="example" onmouseover="checkButton()">
<input type="radio" class="tryout" name="example" onmouseover="checkButton()">
<input type="radio" class="tryout" name="example" onmouseover="checkButton()">

3 个答案:

答案 0 :(得分:1)

您可以在元素中传递checkButton函数作为参数,然后将element.checked设置为true。例如:

function checkButton(element){
  element.checked = true;
}
<input type="radio" class="tryout" name="example" onmouseover="checkButton(this)" checked="check">
<input type="radio" class="tryout" name="example" onmouseover="checkButton(this)">
<input type="radio" class="tryout" name="example" onmouseover="checkButton(this)">
<input type="radio" class="tryout" name="example" onmouseover="checkButton(this)">

答案 1 :(得分:1)

我甚至会添加到jakekimds所做的事情,并避免将您的javascript内联到您的输入上以分离演示文稿和功能。所以你会得到

HTML

<input type="radio" class="tryout" name="example1">
<input type="radio" class="tryout" name="example2">
<input type="radio" class="tryout" name="example3">
<input type="radio" class="tryout" name="example4">

JS

var inputs = document.getElementsByClassName('tryout');
[].forEach.call(inputs, function(el){
    el.addEventListener('mouseenter',function(){
        this.checked = true;
    });
});

答案 2 :(得分:0)

如果将单选按钮包装在容器中,则可以使用document.getElementById附加事件处理程序。这样,如果您的JavaScript发生了变化,那么您的HTML就不会发生。

<span id="radio-buttons">
    <input type="radio" class="tryout" name="example" checked="check">
    <input type="radio" class="tryout" name="example">
    <input type="radio" class="tryout" name="example">
    <input type="radio" class="tryout" name="example">
</span>
<script>
document.getElementById("radio-buttons").onmouseover = function (e) {
    e.target.checked = true;
}
</script>