据我所知。toggle()
方法在 jQuery 版本 1.9 中已弃用。没关系,但我对它很熟悉。解决方案是导入最新的 jQuery 迁移插件。
在官方 jQuery API 文档中,我可以看到 .toggle() 方法的描述中有一条注释:
不建议。使用 .toggleClass() 代替
是的,我可以.toggleClass()
改用,但在这种情况下,它只在两个类之间切换。
还有,为什么不推荐使用?
据我所知。toggle()
方法在 jQuery 版本 1.9 中已弃用。没关系,但我对它很熟悉。解决方案是导入最新的 jQuery 迁移插件。
在官方 jQuery API 文档中,我可以看到 .toggle() 方法的描述中有一条注释:
不建议。使用 .toggleClass() 代替
是的,我可以.toggleClass()
改用,但在这种情况下,它只在两个类之间切换。
还有,为什么不推荐使用?
“不推荐。使用 .toggleClass() 代替”评论是关于提供的示例,它使用 切换类.toggle()
,它不是关于.toggle()
.
文档还说明了为什么不建议使用:
为方便起见,提供了 .toggle() 方法。手动实现相同的行为相对简单,如果 .toggle() 内置的假设证明是有限的,这可能是必要的。例如,如果将 .toggle() 应用于同一元素两次,则不能保证正常工作。由于 .toggle() 内部使用了一个点击处理程序来完成它的工作,我们必须解除对点击的绑定以移除一个附加在 .toggle() 中的行为,这样其他的点击处理程序就可以在交火中被捕获。该实现还在事件上调用 .preventDefault() ,因此如果在元素上调用了 .toggle() ,则不会跟踪链接并且不会单击按钮。
因为在未来的 jQuery 版本中.toggle()
,您将无法调用它,并且会在您的代码中出错。