首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JQuery几个mouse事件的区别和用法

jQuery常用的Mouse事件有7种,分别是: mouseup:鼠标在元素上松开时触发 mouseup 事件。与 click 不同,只要鼠标在元素上松开即触发。...mouseout:鼠标在元素上移开时触发 mouseout 事件。 mouseleave:鼠标在元素上移开时触发 mouseleave 事件。...其实如果是一个单独的元素,也并看不出什么问题,而且我们也常用 mouseover 和 mouseout 组合。...但是今天在写一个QQ在线客服插件时出现了问题,我写了一个 0.3秒 的动画效果,鼠标划入显示,划出隐藏,鼠标在上面移动时,插件不停地显示隐藏好多次。...打印结果如下图, mouseover 和 mouseout 在包含子元素的情况下会多次触发,mouseover 即使不包含子元素也会不断触发,mouseenter 在鼠标划入时触发一次,mouseleave

2.8K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实现一个hoverDelay延迟hover

    问题思考 基于上述的问题,思考是如下: 当用户hover停留在某一DOM元素上一定时长时,比如500ms,才认为这个用户是实际想要做某种操作,这时候在实际的进行相应的网络请求或页面DOM元素显示切换...如果在500ms之前就移开,就算是用户误触误滑,不做任何处理 构造hover通用封装时,采用jQuery的插件开发的方式,形成通用的解决方案 代码封装 基于jQuery的插件系统,实现的hoverDelay...的原型方法上,因此所有jQuery对象都有这个方法可以使用。...原理也是一致的;但是在细节的处理上有些不同,通过Vue绑定的 mouseover、mouseleave对定时器进行设置和清理也能实现需求。 html结构: ....div id="mouse"> {{message}

    1.6K20

    JQ事件和事件对象

    () 鼠标按下和松开事件    5 mouseover()/mouseout() 鼠标移入和移出事件   6 mouseenter()/mouseleave() 鼠标移入移出事件   //mouseover...()/mouseout()和mouseenter()/mouseleave()的区别    首先来了解一下事件冒泡和捕获     事件冒泡:内部事件先触发,然后在触发外部事件     事件捕获:外部事件先被触发...,然后在触发内部元素     mouseover()/mouseout() :鼠标移入“所选元素以及后代都会触发”     mouseenter()/mouseleave():鼠标移入“所选元素”才会触发...  focusin可以在父元素上检测子元素获得焦点的情况 而focusout可以在父元素上检测子元素失去焦点情况  四 其他事件   1 scroll()滚动滚动条时触发的事件      2  resize...在mousedown、mouseup事件中,event.which属性返回的是对应鼠标按钮的映射代码值(相当于event.button)。

    4.1K20

    jQuery:详解jQuery中的事件(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。   ...*这里要注意的一点是,jQuery的hover()方法准确来说是替代jQUery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover"...只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。   mouseout与mouseleave   不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。   ...只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。   ...简单的说,mouseover和mouseout会引起触发的区域更大,mouseenter和mouseleave只能针对绑定的元素来触发。

    2.2K30

    第79天:jQuery事件总结(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。   ...*这里要注意的一点是,jQuery的hover()方法准确来说是替代jQUery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover"...只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。   mouseout与mouseleave   不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。   ...只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。   ...简单的说,mouseover和mouseout会引起触发的区域更大,mouseenter和mouseleave只能针对绑定的元素来触发。

    1.6K20

    Cypress web自动化39-.trigger()常用鼠标操作事件

    前言 在web页面上经常遇到的鼠标事件有:鼠标悬停操作,鼠标右键,鼠标长按,拖拽等操作 trigger() trigger 方法用于在 DOM 元素上触发事件 语法使用示例 .trigger(eventName...参数说明 eventName(字符串) event 在DOM元素上要触发的的名称。 position(字符串) 应该触发事件的位置。该center位置是默认位置。...选项 默认 描述 log true 在命令日志中显示命令 force false 强制执行操作,禁用等待操作性 bubbles true 事件是否起泡 cancelable true 活动是否可取消 timeout...在触发事件发生之前,DOM元素必须处于interactable(可交互)状态(它必须可见并且不能禁用) cy.get('button').trigger('mouseover') // yields '...(1000) cy.get('.target').trigger('mouseleave') 特殊的 mousedown 事件 // Main button pressed (usually the left

    3.1K30

    jquery 绑定事件 - mouseover() mouseout() mouseenter() mouseleave() hover()

    写一个简单的两个嵌套div来演示一下看看,如下: ? ? 进入子元素也会触发mouseover()事件,那么如果#small的div没有嵌套在里面是否会触发呢? 这样应该就不会。 ?...mouseout() 鼠标离开(离开子元素也触发) 上面看了mouseover() 是鼠标进入的事件,那么下面来看看这个事件离开的事件。 ? ?...当子元素在父元素内部的时候,mouseenter()就只会触发一次而已。也就是刚刚进入父元素#big div的时候触发,再进入#small div的时候就不会触发了。...当两个元素嵌套在一起的时候,只有父元素触发了事件。 下面来看看不在一起的时候。 ? ? 可以看到,#small div会将事件冒泡给#big div,导致触发mouseleave()事件。...可以写一个#small div执行return false;拦截事件冒泡,如下: ?

    3K30

    前端(四)-jQuery

    第一个jQuery测试 jquery-3.4.1.min.js" type="text/javascript"> 只有后面这个才有效 //jQuery 的用法,页面结构加载完成后,调用函数,可以定义多个,互相不影响,且都可以执行 //三个都可以执行 $(document...()方法 隐藏 :hidden 选取所有隐藏的元素 show()方法 显示 2.5 jQuery选择器注意事项 选择器的书写规范很严格,多一个或少一个空格,都会影响选择器的效果; 2.6 $("选择器...说明 next() 获取当前元素后的第一个同辈元素 prev() 获取当前元素前的第一个同辈元素 slibings() 获取当前元素的所有同辈元素 3.6.3 遍历前辈元素 方法 说明 parent(...bannerFlog = false; }); //开启自动轮播 setInterval(function(){ // 判断当前是不是鼠标在某个轮播图片的数字上

    8.6K30

    JQuery之内置函数响应事件

    它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...该事件大多数时候会与mouseleave 事件一起使用。与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。...与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。...只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。请看下面例子的演示。 6.mouseover  当鼠标指针位于元素上方时,会发生 mouseover 事件。...注释:与 mouseenter 事件不同,不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。

    2.1K60

    jQuery

    jQuery特性 隐式迭代 链式编程,在于一个方法返回的是一个jQuery对象,既然是jQuery对象就可以点出jQuery的方法来 window.onload 资源加载完成时调用 $(function...[0] console.log(div1) 使用 jQuery 的方法var div2 = $divs.get(0) console.log(div2) 小案例 ———- 开光灯 方法 text()...prev() $(‘li’).prev() 找上一个兄弟 案例-下拉菜单 $('ul').mouseover(function (){ console.log(this);//谁调用了mouseover...,然后this就是谁,且this是dom对象,使用jquery需要转换为jquery对象 }) mouseover 事件在鼠标移动到选取的元素及其子元素上时触发 mouseenter 事件只在鼠标移动到选取的元素上时触发...以后如果有鼠标移入事件,请使用mouseenter,而不是mouseover 鼠标离开事件使用mouseleave,而不是mouseout 案例-突出显示 案例-手风琴 淘宝服饰精品 index()

    1.1K20

    JQuery中bind和unbind函数

    [type='button']").click(function(){ alert("aaaa"); }); } } alert("aaaa")会执行三次,在事件嵌套事件中,不希望看到这样的情况...bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数 unbind() 方法移除被选元素的事件处理程序。...p").unbind("click",test);$("p").bind("click",test); 注意:要定义 .bind() 必须指明什么事件和函数现在来看个简单的demo ,整个div有一个点击收起展开的事件...,如果想要点击链接但是不触发div的点击事件,需要在触发链接的时候把div的点击事件禁用,这里我用到链接mouseenter事件是unbind删除div的事件。...这里还不算完,这时候只要鼠标进入链接区域,div的点击事件就删除了,我们还需要加入鼠标移出链接区域的时候恢复div点击事件。

    1.1K20

    jQuery (二)

    对象的data属性,在调用最后一个处理函数的时候,会将第二个值作为对象的data属性,这样即可避免使用闭包操作 ps jquery 中所有的处理程序都有一个函数 例如 hover() mouseenter...绑定鼠标在进入的时候 mouseleave 绑定鼠标在离开的时候 $('p').bind('mouseenter mouseleave', f); 还可以使用英文句号,作为命名空间,这样方便对多个回调函数的管理...('mouseover.myMod.yourMod', f); 或者使用对象 $('p').bind({ mouseenter:f, mouseleave:g }); 注销事件处理程序 $('*').unbind...https://api.jquery.com/category/events/event-object/ 自定义事件 一个栗子,实现发布订阅模型,先全体元素广播一个事件,在单击一个按钮的时候 $('#.../ 选取3, 4, 5的元素 paras.filter('.note'); // 选取div.note 将选中的元素集用做上下文 即交并补 $('div').find('p'); // 在div中查找

    9.3K30
    领券