jquery之鼠标滑过图片mousemove事件-阿里云开发者社区

开发者社区> 开发与运维> 正文

jquery之鼠标滑过图片mousemove事件

简介: 需要解决的问题:鼠标停在图片上面的时候的 现在这个张图片的相关信息,  我的第一个感觉是使用鼠标事件:mousemove 当他/她停留在图片上面都 时候就可以触发相应显示的事件, mouseout离开的时候触发隐藏事件 但是在实际的完成中发现:鼠标停留在图片上 信息会不停的抖动,查阅相关资料发现,手册对mouseover事件的解释是: 注意:用户把鼠标移动一个像素,就会发生一次 mousemove 事件。

 需要解决的问题:鼠标停在图片上面的时候的 现在这个张图片的相关信息,

 我的第一个感觉是使用鼠标事件:mousemove 当他/她停留在图片上面都 时候就可以触发相应显示的事件, mouseout离开的时候触发隐藏事件


但是在实际的完成中发现:鼠标停留在图片上 信息会不停的抖动,查阅相关资料发现,手册对mouseover事件的解释是:

注意:用户把鼠标移动一个像素,就会发生一次 mousemove 事件。处理所有 mousemove 事件会耗费系统资源。请谨慎使用该事件。

 也就是说:我们鼠标是即使有一个像素的抖动都会触发显示事件 , 难怪会造成图片信息的资源


解决的办法是:使用hover,官方手册对这个方法的解释:

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。

当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。


实例代码:

$("td").hover(
  function () {
    $(this).addClass("hover");
  },
  function () {
    $(this).removeClass("hover");
  }
);


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章