• 技术文章 >web前端 >前端问答

    怎么移除css的hover事件

    藏色散人藏色散人2023-02-01 10:06:47原创155

    移除css hover事件的方法:1、;通过“$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })”方法绑定hover事件;2、通过“$('a').off('mouseenter').unbind('mouseleave');”方法取消绑定的hover事件即可。

    本教程操作环境:Windows10系统、CSS3版、DELL G3电脑

    怎么移除css的hover事件?

    jquery中取消和绑定hover事件的正确方式

    在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用on去绑定hover方法呢?如何用off取消绑定的事件呢?

    一、如何绑定hover事件

    先看以下代码,假设我们给a标签绑定一个click和hover事件:

    $(document).ready(function(){ $('a').on({ hover: function(e) {
     //Hover event handler
    alert("hover"); },
    click: function(e) { // Click event handler
    alert("click"); } });
    });

    当点击a标签的时候,奇怪的事情发生了,其中绑定的hover事件完全没有反应,绑定的click事件却可以正常响应。

    但是如果换一种写法,比如:

    $("a").hover(function(){ alert('mouseover'); }, function(){
    alert('mouseout'); })

    应该使用 mouseenter 和 mouseleave 这两个事件来代替,(这也是 .hover() 函数中使用的事件)

    所以完全可以直接像这样来引用:

    $(document).ready(function(){ $('a').on({ mouseenter: function(e) {
    //Hover event handler
    alert("mouseover"); }, mouseleave: function(e) {
    //Hover event handler
    alert("mouseout"); }, click: function(e) {
    // Clickevent handler
    alert("click"); } });
    });

    因为.hover()是jQuery自己定义的事件,是为了方便用户绑定调用mouseenter和mouseleave事件而已,它并非一个真正的事件,所以当然不能当做.on()中的事件参数来调用。

    二、如何取消hover事件

    大家都知道,可以使用off函数去取消绑定的事件,但是只能取消通过bind绑定的事件,jquery中的hover事件是比较特殊的,如果通过这种方式去绑定的事件,则无法取消。

    $("a").hover(function(){ alert('mouseover'); }, function(){
    alert('mouseout'); })

    取消绑定的hover事件的正确方式:

    $('a').off('mouseenter').unbind('mouseleave');

    推荐学习:《css视频教程》《jQuery视频教程

    以上就是怎么移除css的hover事件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:css hover
    上一篇:css显示不出背景怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • hover不起作用怎么办• css hover失效怎么办• css hover怎么设置• css3中hover是什么意思• CSS小技巧:利用transition保留hover状态
    1/1

    PHP中文网