我正在 Perl 中向我们的网站添加一个新表单(不是我的选择)。表单会自动生成大量 html,以创建一致的外观。我的问题在于遗留系统在整个页面(包括加载时)中使用原型来处理各种事情。不过我想使用 jQuery,主要是 jQuery UI 中的日期选择器。我可以通过使用 jQuery.noConflict(); 来避免冲突。但由于 jQuery 日期选择器 javascript 中的一行代码,我仍然收到错误。
inst.dpDiv.zIndex($(input).zIndex()+1);
看看它如何仍然包含 $ 符号,该原型尝试处理但不能。有人能为我提供解决方案吗?我正在使用 jQuery 1.5 和 jQuery UI 1.8.6。
总之:我无法删除prototype.js,我更喜欢使用jQuery UI datepicker,并且jQuery UI datepicker不处理jQuery.noConflict()。
Thanks
EDIT仅当我尝试单击按钮以显示日期选择器时才会发生这种情况。
来自萤火虫:
$(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);
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(function ($) {
// your code here
// $ is the jQuery object
});
</script>
jQuery 会将自身传递给内部函数。只需指定$
作为参数和$
函数内部将引用 jQuery 对象。 jQuery UI 日期选择器也执行相同的操作。确保按上述顺序包含库,首先是原型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)