悬停时显示/隐藏,那么点击时如何保持显示?
如果我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在单击处理程序内部,您可以在显示元素后取消绑定悬停事件:
Inside of your click handler, you can unbind the hover event after showing the element:
声明另一个单击事件处理程序并切换元素。
declare a another click event handler and toggle the element.
我会添加一个类来说明该元素是否已被单击。
I would add a class stating whether or not the element has been clicked.