首页

文章

jQuery 中的hover 和 mouseover 有什么区别

发布网友 发布时间:2022-04-19 20:11

我来回答

4个回答

懂视网 时间:2022-04-28 16:28

在工作中为了使页面更具有吸引力,前端开发人员经常会在页面中加上鼠标移入和移出的效果。鼠标移入移出的设置,一般有两种方法,一种是单纯用CSS中的hover伪类,另一种可以用JS 中的DOM事件,即onmouseover和onmouseout。接下来这篇文章就和大家讲讲CSS伪类hover和JS鼠标事件mouseover的区别,希望可以帮助到你。

JS可以对 HTML 事件作出反应,mouse属于javascript里的,他可以触发js命令,当元素绑定一个事件,事件发生的时候,可以执行一段javascript代码。

JavaScript中鼠标事件有:
onmouseover和onmouseout: 当鼠标移入和移出时触发事件
onmousedown和onmouseup: 当鼠标按钮被按下或者松开时触发事件
onclick和ondbclick :当鼠标单击或者双击时触发事件
onmousemover :当鼠标移动时触发事件

CSS:hover是css中的一种伪类选择器,指鼠标移入然后移出的过程,这个操作可以改变元素的样式,而且它相应的子类也被改变。但无法改变元素的内容。比如,鼠标经过实现弹出窗口的效果,它用的是onmousemove实现的,如果用hover则没办法做出这样的效果。

可能文字描述不是很好理解,接下里,举例个例子,看看hover和mouseover,mouseout之间有什么不同,结合图片看就一目了然了。

先看看CSS:hover方法实现的效果吧

HTML部分:

<div class="container">
 <div class="aa">内容1</div>
 <div class="bb">内容2</div>
</div>

CSS部分:

.container {
  width: 200px;
  border: 1px solid #000000;
  margin: 200px auto;
  line-height: 100px;
  text-align: center;
  }
.aa,.bb {
  height: 100px;
  margin: 1px;
  background: #ccc;
  }
.aa:hover{background: pink;}

效果图:

hover1.jpghover2.jpg

一个大盒子中含有两个小的div,我想让鼠标经过上面一个div时,背景颜色变成粉色。左图是鼠标未移入的效果,右图是鼠标经过时的效果。从图片中可以看出,CSS:hover确实可以实现这个效果。

那接下来,我们看看JavaScript中的onmouseover和onmouseout又是怎么实现的。CSS部分代码一样,只是HTML加了事件,用到了JavaScript。

HTML部分:

<div class="container">
 <div class="aa" onmouseover="over(this)" onmouseout="out(this)">内容1</div>
 <div class="bb">内容2</div>
</div>

JavaScript部分:

function over(obj){ 
  obj.innerHTML = "鼠标移入"; 
  obj.style.background = "pink";
  }
  function out(obj){
  obj.innerHTML = "移出了";
  obj.style.background = "#ccc"; 
  }

效果图:

mouse2.jpgmouse3.jpg

左图是鼠标未移入的样式,和上面一样,中间图片是鼠标经过样式,上面一个div的背景颜色变成了粉色,而且内容变成了“鼠标移入”,右图是鼠标移出后的效果,div里面的内容变了。通过两个例子的对比,应该知道hover和mouseover,mouseout之间的区别了吧。

总结:CSS只能改变元素的样式,无法改变元素的内容,如果要改变内容应该使用JavaScript鼠标事件onmouseover和onmouseout。所以只是为了样式效果,用CSS的伪类hover,如果需要动态改变,则选择js的事件。在工作中具体有什么还要看情况,选择适合的方法。希望这个教程对你有用。

热心网友 时间:2022-04-28 13:36

这2个是有区别的。
hover是指分别当鼠标指针进入和离开元素时被执行的事件相当于mouseenter+mouseleave。而mouseover鼠标进入某个元素或其子元素时触发。
可参考mouseover和mouseenter的区别:http://www.w3school.com.cn/tiy/t.asp?f=jquery_event_mouseenter_mouseover
而mousemove如你所说只要鼠标移动,哪怕只有1像素就会触发。因为用户在浏览网页的过程中,鼠标是会不停移动的,所以一旦绑定这个事件,网页就会不停的执行mousemove所绑定的响应函数,消耗系统资源。这里的系统资源是指客户端的。。

热心网友 时间:2022-04-28 14:54

hover接受两个参数,一个执行mouseover的功能,一个执行mouseout的功能

热心网友 时间:2022-04-28 16:29

hover 可以带两个函数,一个移入,一个移出
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 jQuery中hover与mouseover和mouseout的区别分析 jquery中怎样给每一个li,添加mouseover事件? jQuery mouseover事件 浅谈JQ中mouseover和mouseenter的区别 工程结算书上应该盖什么章 劳动合同劳动用工登记机关需要盖章吗 企业会给暑假工盖公章吗? 公司项目经理用项目章给工人点工,盖章有法律效益吗? 有公章应加盖公章,没有公章的由用工负责人签字认可。 入职员工何时能够拿到公司盖章后的劳动合同? 施工图盖章有什么规定 请问开个打工的证明需要盖的是什么印章 超市门口负责盖章的员工名称 买房子盖章工地上的可以嘛? 员工签订劳务派遣合同 需要用工单位盖章吗 企业招工政审表有劳动局盖章属于合同工吗 政工部门盖章是什么章 人事局和劳动局盖章的合同制算正式工吗 工作证明盖章是什么章 需有劳动部门盖章的用工合同范本 JQuery怎么才能去掉mouseover事件 jquery中鼠标移上和移开的动作是什么? jQuery实现鼠标事件(click mouseout mouseover)... jquery的mouseover事件为什么会闪 jquery 如何将当前mouseover所在元素传递赋值给其... jQuery如何区分触发mouseover事件的对象? 用JQ控制3个class一样的div鼠标移上去触发mouseove... jq怎样实现鼠标经过隐藏,离开显示div层 jQuery mouseover显示、mouseout隐藏问题 jquery 添加了mouseover mouseout和click事件怎样... jquery中,mouseover为什么不停的淡入淡出 jquery中鼠标移上和移开的动作是什么 个人小额贷款合同条款 小额贷款合同怎么写小额贷款合同怎么写 小额贷款合同怎么写 个人小额贷款的合同条款 签订小额贷款合同需要注意哪些问题? 怎样办理个人小额贷款 中国农业银行小额贷款专用合同上支付授权金百分之... 小额贷款签合同时要注意看什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com