我试图防止在动画发生时单击列表项。所以在我的点击处理程序的顶部,我想做这样的事情:
if(!$(this).is(:animated)) {
// handle click code here
}
注意上面 if 语句中的 'bang' (!)。我没有测试过,但我认为这会奏效。我不确定的是“.is(:animated)”在对通过fadeIn() 和fadeOut() 进行动画处理的元素运行时是否会返回true。我知道 jQuery 有一个 .animate() 函数,并且我认为 :animated 肯定适用于使用该函数动画的元素,但它是否适用于使用 fadeIn() 和 fadeOut() 的元素?谢谢。
更新:在一些戏剧性的错误帖子之后,一切似乎都很好,感谢所有伟大的后续和编辑的回复。最后,我发现,是的, :animated 匹配那些使用fadeIn() 和fadeOut() 动画的元素,因为jQuery 源使用 .animate() 来实现这些效果。我的最终检查与最初发布的一样:
if(!$(this).is(:animated)) {
// handle click code here
}
..而不是像在某些情况下建议的那样使用 .not() (尽管我相信这些会像当前发布的那样工作)。再次感谢。