一尘不染

CSS悬停与JavaScript鼠标悬停

css

有时,我可以选择使用CSS元素:悬停或JavaScript onmouseover来控制页面上html元素的外观。考虑以下情况,其中div包装了输入

<div>
<input id="input">
</div>

我希望输入将鼠标光标悬停在div上时更改背景色。CSS方法是

<style>
  input {background-color:White;}
  div:hover input {background-color:Blue;}
</style>

<div><input></div>

JavaScript方法是

<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
  <input id="input">
</div>

每种方法的优点和缺点是什么?CSS方法是否适用于大多数Web浏览器?JavaScript比CSS慢吗?


阅读 295

收藏
2020-05-16

共1个答案

一尘不染

:hover的问题是IE6仅在链接上支持它。最近,我将jQuery用于此类事情:

$("div input").hover(function() {
  $(this).addClass("blue");
}, function() {
  $(this).removeClass("blue");
});

使事情变得容易得多。可以在IE6,FF,Chrome和Safari中使用。

2020-05-16