0

据我所知。toggle()方法在 jQuery 版本 1.9 中已弃用。没关系,但我对它很熟悉。解决方案是导入最新的 jQuery 迁移插件。

在官方 jQuery API 文档中,我可以看到 .toggle() 方法的描述中有一条注释:

不建议。使用 .toggleClass() 代替

是的,我可以.toggleClass()改用,但在这种情况下,它只在两个类之间切换。

还有,为什么不推荐使用?

4

2 回答 2

1

“不推荐。使用 .toggleClass() 代替”评论是关于提供的示例,它使用 切换类.toggle(),它不是关于.toggle().

文档还说明了为什么不建议使用:

为方便起见,提供了 .toggle() 方法。手动实现相同的行为相对简单,如果 .toggle() 内置的假设证明是有限的,这可能是必要的。例如,如果将 .toggle() 应用于同一元素两次,则不能保证正常工作。由于 .toggle() 内部使用了一个点击处理程序来完成它的工作,我们必须解除对点击的绑定以移除一个附加在 .toggle() 中的行为,这样其他的点击处理程序就可以在交火中被捕获。该实现还在事件上调用 .preventDefault() ,因此如果在元素上调用了 .toggle() ,则不会跟踪链接并且不会单击按钮。

请参阅此处的进一步讨论

于 2013-07-27T14:18:15.790 回答
0

因为在未来的 jQuery 版本中.toggle(),您将无法调用它,并且会在您的代码中出错。

于 2013-07-27T14:14:52.107 回答