如何向 jQuery .hover() 添加条件
我想使用 jQuery 悬停功能并且可以毫无问题地这样做。
$(".tag").hover(function() { $(this).addClass("tag-over"); }, function() { $(this).removeClass("tag-over"); });
然而,在某些情况下,由于 click
事件,我已经添加了 tag-over
类,但我不希望在用户移除鼠标时将其删除。
如果 tag-over
类尚未附加到元素,如何仅执行 addClass() 和 rmeoveClass()。
如果这个解释不好,请告诉我。
I want to use the jQuery hover function and can do so with no problem.
$(".tag").hover(function() { $(this).addClass("tag-over"); }, function() { $(this).removeClass("tag-over"); });
However in some circumstances I will have already added the tag-over
class due to a click
event, but I don't want it remove when the user removes the mouse.
How do I only perform the addClass() and rmeoveClass() if the tag-over
class is not already attached to the element.
Please let me know if that explanation is no good.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
实际上,您可能希望为点击事件使用不同的选择器:
tag-focus
或类似的东西。这样你的元素就可以同时拥有这两个类,这并不重要,更容易跟踪。You actually want to probably have a different selector for the click event:
tag-focus
or something like that. That way your element can have both classes and it won't matter, much simpler to keep track of.如果我理解你的问题,你可以使用 :not() ,我认为这将是最好处理这个问题。
If I understand your question, you can use :not(), which I think would be the best of dealing with this.
我认为这样的事情应该做到这一点:
这使用
data
方法来存储有关特定元素的信息。I think something like this should do it:
This uses the
data
method to store information about a particular element.为什么不尝试为点击事件添加
tagover
类,为悬停事件添加tag-over
类?希望这有帮助
why don't you try to add class
tagover
for click event andtag-over
for hover event?Hope this helps
虽然这里并不是一个优雅的解决方案。
不好的一点是,它添加了
click
类来检查。Not elegant solution though here.
Bad thing about it, it adds
click
class to check.