我正在Perl中添加一个新的表单到我们的网站(不是我的选择)。自动生成很多HTML以便创建一致的外观。我的问题出现在遗产整个页面(包括负载)的各种事物使用原型的地方。不过,我想使用jQuery,主要是jQuery UI中的日期选择器。我可以通过使用jQuery.noConflict();来避免冲突。但我仍然得到一个错误,因为在jQuery日期选择器JavaScript中的一行代码。jQuery UI和原型冲突
inst.dpDiv.zIndex($(input).zIndex()+1);
看看它是如何仍然包含$符号的,原型试图处理但不能。有没有人对我有任何解决方案?我正在使用jQuery 1.5和jQuery UI 1.8.6。
总结:我无法删除prototype.js,我宁愿使用jQuery UI datepicker和jQuery UI datepicker不处理jQuery.noConflict()。
感谢
编辑 这只有当我尝试点击该按钮来显示日期选择器发生。 从萤火虫:
$(input).zIndex is not a function
inst.dpDiv.zIndex($(input).zIndex()+1);
datepicker.js (line 651)
编辑编辑 更新到jQuery UI的1.8.9不改变的问题。
编辑编辑编辑 单击按钮以显示日期选取器时会发生此问题。所以在加载日期选择器设置好。更改脚本的顺序不起作用,以下代码的任何形式的变体也不起作用。
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
jQuery UI将一切将`jQuery`重新映射到`$`的函数内部,所以使用`$`是安全的。你确定这个错误不是来自别的地方吗?我只是用datepicker下载了一个自定义UI版本来检查(版本1.8.9)。 – 2011-02-15 03:17:51
哪个先走?你的原型声明或你的jQuery?你可以做的是首先做所有的jQuery的东西(没有冲突),然后把美元语法归还原型。 – corroded 2011-02-15 03:18:45