0

我希望能够选择多个复选框onmouseover,但不是应用于 onmouseover每个单独的框,我一直在尝试通过按 ID 操作复选框来解决如何做到这一点,尽管我不确定从哪里开始使用getElementById. 因此,而不是您在下面看到的:

<html>
<head>
<script>
     var Toggle = true;

  var Highlight=false;
  function handleKeyPress(evt) {
     var nbr;
     if (window.Event) nbr = evt.which;
     else nbr = event.keyCode;
     if(nbr==16)Highlight=true;
     return true;
  }

  function MakeFalse(){Highlight=false;}

  function SelectIt(X){
      if(X.checked && Toggle)X.checked=false;
      else X.checked=true;
  }
function ChangeText()
{
    var test1 = document.getElementById("1");
    test1.innerHTML = "onmouseover=SelectIt(this)"
}

</script>
</head>
<body>
<form name="A">
<input type="checkbox" name="C1" onmouseover="SelectIt(this)" id="1"><br>
<input type="checkbox" name="C2" onmouseover="SelectIt(this)" id="2"><br>
<input type="checkbox" name="C3" onmouseover="SelectIt(this)" id="3"><br>
<input type="checkbox" name="C4" onmouseover="SelectIt(this)" checked="" disabled="disabled" id="4"><br>
<input type="checkbox" name="C5" onmouseover="SelectIt(this)" id="5"><br>
<input type="checkbox" name="C6" onmouseover="SelectIt(this)" id="6"><br>
<input type="checkbox" name="C7" onmouseover="SelectIt(this)" id="7"><br>
<input type="checkbox" name="C8" onmouseover="SelectIt(this)" id="8"><br>
</form>

</body>
</html>

我希望能够将onmousover效果应用于一系列复选框,如下所示:

<form name="A">
<input type="checkbox" name="C1" id="1"><br>
<input type="checkbox" name="C2" id="2"><br>
<input type="checkbox" name="C3" id="3"><br>
<input type="checkbox" name="C4" checked="" disabled="disabled" id="4"><br>
<input type="checkbox" name="C5" id="5"><br>
<input type="checkbox" name="C6" id="6"><br>
<input type="checkbox" name="C7" id="7"><br>
<input type="checkbox" name="C8" id="8"><br>
</form>

在尝试了 Stack Overflow 的搜索功能并在 Google 上环顾四周后,我至今无法找到对我有意义的解决方案,尽管我仍在学习过程中,所以我担心我可能会尝试做一些对我的知识水平来说太高级的事情。

4

2 回答 2

0

您无需更改输入事件即可制作不引人注目的 JavaScript。无法执行 JavaScript 的代理将忽略onmouseover属性。而且由于我希望您在循环中的服务器端生成复选框,因此无需担心复制粘贴。

于 2010-04-27T11:12:44.967 回答
0

我会考虑为任何客户端抓取 jQuery。例如,您的问题可以很容易地用 jQuery 建模,并且代码非常少:

$(':checkbox').mouseover(function()
{
    this.checked = !this.checked;
});

这会抓取页面上的所有复选框,将鼠标悬停事件附加到它们,然后当鼠标悬停时,它会简单地切换元素上选中属性的状态。

于 2010-04-27T11:28:20.743 回答