当前位置:首页 > jquery

jquery鼠标悬停事件

2026-03-17 03:12:39jquery

jQuery鼠标悬停事件基础用法

鼠标悬停事件在jQuery中主要通过.hover()方法实现,该方法接受两个函数参数,分别对应鼠标进入和离开时的处理逻辑。

$("#targetElement").hover(
  function() {
    // 鼠标进入时执行
    $(this).css("background-color", "yellow");
  },
  function() {
    // 鼠标离开时执行
    $(this).css("background-color", "");
  }
);

简化版悬停效果

如果只需要在悬停时触发单一效果(不考虑离开状态),可以直接使用.mouseenter().mouseleave()方法:

jquery鼠标悬停事件

$("#element").mouseenter(function(){
  $(this).addClass("hover-style");
});

$("#element").mouseleave(function(){
  $(this).removeClass("hover-style");
});

结合CSS实现悬停动画

通过jQuery触发CSS过渡动画,实现更流畅的悬停效果:

$(".card").hover(
  function() {
    $(this).stop().animate({ opacity: 0.8 }, 200);
  },
  function() {
    $(this).stop().animate({ opacity: 1 }, 200);
  }
);

事件委托处理动态元素

对于动态生成的元素,使用事件委托确保悬停事件有效:

jquery鼠标悬停事件

$(document).on({
  mouseenter: function() {
    $(this).find(".tooltip").show();
  },
  mouseleave: function() {
    $(this).find(".tooltip").hide();
  }
}, ".dynamic-item");

高级悬停延迟处理

添加延迟效果避免频繁触发:

var hoverTimer;
$("#menu-item").hover(
  function() {
    hoverTimer = setTimeout(function(){
      $("#submenu").slideDown(300);
    }, 200);
  },
  function() {
    clearTimeout(hoverTimer);
    $("#submenu").slideUp(200);
  }
);

移动端兼容处理

针对触摸设备添加touchstart事件模拟悬停:

$(".touch-element").on("touchstart", function() {
  $(this).addClass("hover-state");
}).on("touchend", function() {
  $(this).removeClass("hover-state");
});

标签: 鼠标事件
分享给朋友:

相关文章

vue 实现鼠标经过

vue 实现鼠标经过

实现鼠标经过效果的方法 在Vue中实现鼠标经过(hover)效果,可以通过多种方式实现,包括使用CSS、Vue指令或事件监听。以下是几种常见的方法: 使用CSS的:hover伪类 通过CSS的:ho…

vue 事件实现原理

vue 事件实现原理

Vue 事件实现原理 Vue 的事件系统基于发布-订阅模式,通过 $on、$emit 等方法实现组件间通信。核心原理分为以下几个部分: 事件注册与监听 Vue 实例内部维护一个 _events 对象…

vue实现页面单击事件

vue实现页面单击事件

Vue 实现页面单击事件的方法 在 Vue 中实现单击事件可以通过 v-on 指令或 @ 简写来完成。以下是几种常见的实现方式: 使用 v-on 指令绑定单击事件 通过 v-on:click 可以直…

vue中实现长按事件

vue中实现长按事件

监听原生事件实现长按 在Vue中可以通过@mousedown和@touchstart绑定原生事件,配合setTimeout触发长按逻辑。清除定时器使用@mouseup、@mouseleave和@tou…

vue如何实现事件处理

vue如何实现事件处理

Vue 事件处理基础 Vue 通过 v-on 指令(简写为 @)实现事件绑定。语法格式为 @事件名="处理函数",处理函数需在 Vue 实例的 methods 中定义。 <template…

vue点击事件实现搜索

vue点击事件实现搜索

实现点击搜索功能的方法 在Vue中实现点击事件触发搜索功能,可以通过以下方式完成: 模板部分 <template> <div> <input v-…