悬停时显示/隐藏,那么点击时如何保持显示?

发布于 2024-12-27 21:44:03 字数 552 浏览 1 评论 0原文

如果我有一个 jquery 脚本,可以在悬停时显示和隐藏某个元素,那么如果我单击它,如何使应该隐藏的元素保持显示状态?

$(selector).hover(function(){
//this shows the element on mousein
     $(element).show();
     $(element).click(function(){
            $(this).css({'display':'list-item'});
     });
},function(){
//this hides element on mouseout
     $(element).hide();
}

之所以是列表项,是因为我单击的这个元素是

  • 标记。我相信这就是为什么它应该是 list-item 而不是 block 的原因?另外,当我在点击函数中执行 alert($(element).css('display')); 时,它会显示列表项。
  • If I have a jquery script that shows and hides an element when hover, how do I make my element thats supposed to hide stay displayed if I click on it?

    $(selector).hover(function(){
    //this shows the element on mousein
         $(element).show();
         $(element).click(function(){
                $(this).css({'display':'list-item'});
         });
    },function(){
    //this hides element on mouseout
         $(element).hide();
    }
    

    The reason its list-item, its because this element I'm clicking is a <li> tag. I believe this is why it should be list-item and not block? Also, When I just do alert($(element).css('display')); within the click function, it shows list-item.

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(3

    软糖 2025-01-03 21:44:03

    在单击处理程序内部,您可以在显示元素后取消绑定悬停事件:

    $(element).click(function(){
        $(this).css({'display':'list-item'});
        $(selector).unbind('mouseenter mouseleave')
    });
    

    Inside of your click handler, you can unbind the hover event after showing the element:

    $(element).click(function(){
        $(this).css({'display':'list-item'});
        $(selector).unbind('mouseenter mouseleave')
    });
    
    晒暮凉 2025-01-03 21:44:03

    声明另一个单击事件处理程序并切换元素。

    $(selector).click(function(){
         $(element).toggle();
    });
    

    declare a another click event handler and toggle the element.

    $(selector).click(function(){
         $(element).toggle();
    });
    
    流心雨 2025-01-03 21:44:03

    我会添加一个类来说明该元素是否已被单击。

    $(element).click(function () {
        $(this).toggleClass('clicked');
    });
    

    I would add a class stating whether or not the element has been clicked.

    $(element).click(function () {
        $(this).toggleClass('clicked');
    });
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文