我遇到了jquery插件的一个主要问题。我有一些用jquery 1.7.1编写的代码,现在我开始使用bootstrap,需要1.9.1 jquery插件或更高版本。
包含此版本“https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js”后,我之前的功能停止了工作。然后我使用了两个版本但又没有运气。
我不想重写我以前的代码,使其与新版本兼容。请提供解决方案
我收到很多错误:Uncaught TypeError:that.errorDialog.dialog不是函数,.live不是函数,.dialog没有定义,null错误。我的代码使用jQuery 1.7.1
工作正常如何解决此问题请帮助。
谢谢! 迪皮卡乌达
答案 0 :(得分:1)
您可以尝试仅加载较新版本的jQuery,然后加载jquery-migrate
,这将恢复一些旧功能。但是,如果不知道您的应用需要哪些特定功能,我无法确定这是否可以解决问题。
https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js
理想情况下,您应该确定依赖于旧版jQuery的代码并更新它们以使用最新版本。在一天结束时,jQuery的更改是有原因的。对于新的实现,你几乎肯定会更好。
如果您明智地决定更新代码,那么jQuery Core 1.9 Upgrade Guide可能是一个很好的起点
答案 1 :(得分:0)
当你加载jQuery.x.x.js时,它将覆盖现有的$和jQuery变量。但它保留了它们的备份副本(在_$
和_jQuery
中)。
调用noConflict
(true)可以恢复js包含之前的情况!
noConflict()
为您提供正在运行的实例(上次加载的实例),因此您可以通过这种方式使用您的版本
恢复:
如果您想恢复到特定版本,请在HTML中添加以下JavaScript代码。
<script type="text/javascript">
if (jQuery.fn.jquery != "1.11.0")
var jQuery_1_11_0 = $.noConflict(true);
</script>