首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS鼠标悬停与JavaScript鼠标悬停

CSS鼠标悬停与JavaScript鼠标悬停
EN

Stack Overflow用户
提问于 2009-03-04 00:15:39
回答 10查看 247.9K关注 0票数 86

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

代码语言:javascript
复制
<div>
<input id="input">
</div>

当鼠标光标悬停在div上时,我希望输入改变背景颜色。CSS方法是

代码语言:javascript
复制
<style>
  input {background-color:White;}
  div:hover input {background-color:Blue;}
</style>

<div><input></div>

JavaScript方法是

代码语言:javascript
复制
<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
  <input id="input">
</div>

每种方法的优缺点是什么?CSS方法在大多数web浏览器上都能很好地工作吗?JavaScript比css慢吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-03-04 00:18:18

hover的问题是IE6只在链接上支持它。这些天我使用jQuery来做这类事情:

代码语言:javascript
复制
$("div input").hover(function() {
  $(this).addClass("blue");
}, function() {
  $(this).removeClass("blue");
});

让事情变得简单多了。这将适用于IE6,FF,Chrome和Safari。

票数 62
EN

Stack Overflow用户

发布于 2009-03-04 00:17:46

CSS one更具可维护性和可读性。

票数 32
EN

Stack Overflow用户

发布于 2010-04-28 04:20:08

在javascript中这样做的另一个好处是你可以在不同的时间点添加/删除悬停效果-例如,将鼠标悬停在表行上会改变颜色,单击会禁用悬停效果并开始原地编辑模式。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/608788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档