javascript - 在同一元素上使用 .addClass() 后修改 .hover()

标签 javascript jquery addclass jquery-hover

所以我正在尝试使用 .hover() 方法,该方法仅在悬停元素时才执行某些操作,并且没有特定的类。如果我将类添加到 HTML 中有问题的元素,它就可以正常工作。但是假设我有一个单击事件,它使用 .addClass() 添加使用 jQuery 的类。 hover() 方法随后会忽略已添加的类。够啰嗦了。这是代码。

$('.foo:not(.bar)').hover(function() { 

    someCrap();  //when hovering a over .foo that doesn't also have the class .bar, do someCrap

}

$('.foo').click(function(){

    $(this).addClass('bar'); //after the element .foo gets another class .bar, the hover event written earlier continues to work, WTF

})

有什么想法吗?

最佳答案

.hover()仅向已创建的元素 添加事件。您需要使用 .on()还可以为 future 的元素 创建事件。这意味着您还需要设置一个parentparent 最好尽可能靠近应该有鼠标事件的children,以节省性能。

$('#parent').on({
    mouseenter : function() {
        "use strict";
        // Do something
    },
    mouseleave: function() {
        "use strict";
        // Do something
    }
}, ".foo:not(.bar)");

关于javascript - 在同一元素上使用 .addClass() 后修改 .hover(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100432/

相关文章:

javascript - 为什么 .val() 会导致错误?

javascript - 带有动态 div 的 JQuery 对话框

css - 同步 CSS 动画时间(从 到 )

javascript - react native 博览会弹出后出现问题 : No visible @interface for 'RCTAsyncLocalStorage' declares the selector 'initWithStorageDirectory:'

javascript - 如何使用 jQuery 将 jsp 页面的内容加载到模式窗口中?

javascript - jQuery img src 替换不工作

jquery - 无法将 .addClass 应用于动态创建的元素

javascript - jQuery 添加类到 xlink :href

javascript - 使用 jQuery 在点击时隐藏 parent 的 parent 的 div

javascript - 我可以使用 AWS lambda 充当 WebSocket(AWS IoT 堆栈)的客户端吗?