添加类的addClass()后的JQuery函数

添加类的addClass()后的JQuery函数,jquery,addclass,Jquery,Addclass,单击功能旨在“隐藏”标注框,然后,当鼠标悬停时,它将移回焦点 为什么悬停功能不起作用?这是因为它们都在jQuery(函数($){})中 我应该采取什么措施来纠正这种情况 非常感谢要根据元素的当前类在元素上触发事件,您需要使用事件委派 要根据元素的当前类在元素上触发事件,需要使用事件委派 调用click函数时,需要添加类并实现悬停函数。在代码中,您添加了单击事件类,但没有实现悬停函数。在文档就绪时实现悬停函数,然后Jquery可以找到带有Callout Closed类的选择器,因为它还不是cli

单击功能旨在“隐藏”标注框,然后,当鼠标悬停时,它将移回焦点

为什么悬停功能不起作用?这是因为它们都在
jQuery(函数($){})中

我应该采取什么措施来纠正这种情况


非常感谢

要根据元素的当前类在元素上触发事件,您需要使用事件委派


要根据元素的当前类在元素上触发事件,需要使用事件委派


调用click函数时,需要添加类并实现悬停函数。在代码中,您添加了单击事件类,但没有实现悬停函数。在文档就绪时实现悬停函数,然后Jquery可以找到带有Callout Closed类的选择器,因为它还不是click事件

选中此项:

$('#closecallout').click(function() {
    $('.callout').animate({"right" : "-260px"}, 500).addClass('calloutclosed');
});
$(document).on('mouseover', '.calloutclosed', function() {
    $(this).animate({"right" : "0px"}, 500);
}).on('mouseout', '.calloutclosed', function() {
    $(this).animate({"right" : "-260px"}, 500);
});

调用click函数时,需要添加类并实现hover函数。在代码中,您添加了单击事件类,但没有实现悬停函数。在文档就绪时实现悬停函数,然后Jquery可以找到带有Callout Closed类的选择器,因为它还不是click事件

选中此项:

$('#closecallout').click(function() {
    $('.callout').animate({"right" : "-260px"}, 500).addClass('calloutclosed');
});
$(document).on('mouseover', '.calloutclosed', function() {
    $(this).animate({"right" : "0px"}, 500);
}).on('mouseout', '.calloutclosed', function() {
    $(this).animate({"right" : "-260px"}, 500);
});

代码有效,但是一个快照解释如何?另外,请正确格式化您的答案。以它目前的形式很难阅读。太好了!你的帖子现在看起来好多了:)我也不是那个问这个问题的人:)代码是有效的,但是一个快照解释怎么样?另外,请正确格式化您的答案。以它目前的形式很难阅读。太好了!你的帖子现在看起来好多了:)我也不是那个问这个问题的人:)@NorbertPisz这是什么意思?试着多次快速悬停和取消悬停,观察效果。@NorbertPisz这很正常他们都工作,做完全相同的事。非常感谢。@NorbertPisz这是什么意思?试着多次快速悬停和解除悬停,并观察效果。@NorbertPisz这很正常。它们都工作,做完全相同的事情。非常感谢。
jQuery(function ($) {

//CALLOUT
$('#closecallout').click(function () {
    $('.callout').animate({
        "right": "-260px"
    }, 500)
    $('.callout').addClass('calloutclosed');

    $('.calloutclosed').hover(function () {
        $(this).animate({
            "right": "0px"
        }, 500);
    }, function () {
        $(this).animate({
            "right": "-260px"
        }, 500);
    });

});
});