【问题标题】:jQuery.datePicker stopped working while using 2 versions of jQueryjQuery.datePicker 在使用 2 个版本的 jQuery 时停止工作
【发布时间】:2014-01-21 17:15:17
【问题描述】:

我使用两个版本的 jQuery:1.2 和 1.9。

我在 Main.Master 中添加了以下行:

<script type="text/javascript" src="<%# ResolveUrl ("~/jquery-1.2.6.js") %>"></script>
<script type="text/javascript" src="<%# ResolveUrl ("~/jquery-ui.js") %>"></script>
<script type="text/javascript" src="<%# ResolveUrl ("~/jquery-1.9.1.min.js") %>"></script>   
<script type="text/javascript">
    var $new = jQuery.noConflict();
</script>

我在我的应用程序中使用 jquery.tinePicker,由于我添加了新的 jQuery,我得到了异常:

无法获取未定义或空引用的属性“_selectDay”

从行:

function onclick()
{
jQuery.datepicker._selectDay(param,param,param,param);
}

我猜它来自 jQuery-ui 文件。 有什么想法可以让它发挥作用吗?

【问题讨论】:

  • 选择一个版本只使用 - 然后看看你得到什么错误......
  • 没有错误......在我添加之前它工作正常:
  • 然后删除它。如果您希望使用 1.9.1 删除 1.2.6 和 jquery-ui,然后使用 1.9.1 并从他们的站点为新版本制作一个新的 jquery-ui。你不能像这样使用两个 jquery 版本,它是一个库,了解做什么以及如何工作

标签: jquery asp.net jquery-ui datepicker jquery-ui-datepicker


【解决方案1】:

一些要点。

  • 每个 jQuery 用户界面 都可以正确使用 特定版本 的 jQuery
  • 您必须只使用一个 jQuery 库(常识)。
  • jQuery.noConflict() 用于将$ 更改为jQuery,并避免与同样使用符号$其他 库发生冲突

所以,你在这里所做的,包括版本 1.2.6,然后是该版本的用户界面,然后用 1.9.1 覆盖它,然后使用 noConfict。

结果用户界面将无法工作,谁知道可能存在其他冲突。

如果您想使用新版本,请删除旧的和旧的用户界面。 只包含新的,新建一个用户界面库文件from their site and incl due it also

【讨论】:

  • 我无法删除旧版本,因为 jQuery 没有向后兼容性,并且当我删除它时一切都停止了。我读到可以使用 noConflict 包含 2 个版本的 jquery:api.jquery.com/jquery.noconflict(尽管不推荐)。我将检查是否可以包含 2 个版本的 jquery ui。无论如何谢谢:)
猜你喜欢
  • 1970-01-01
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 2012-01-09
相关资源
最近更新 更多