在我的网站上我使用了一些新的JQuery UI控件,比如datepicker和对话框。
我最近在网上找到了一个很酷的项目,展示了如何制作谷歌仪表板,这也是在bbc.co.uk网站上使用的。 这允许用户在选择时具有可以很好地移动的小部件。
我创建了一个测试解决方案,它有效。
当我使用当前的Jquery控件和版本将它集成到我的exisitng解决方案中时,它会导致firebug中显示的一些错误。
这些是:
$("#menu").mouseleave is not a function
$('#menu').mouseleave(function() {
这段代码:
$('#menu').mouseleave(function() {
setSubItemVisibility();
});
用于datepicker JQuery ui控件:
$(".startdate").datepicker is not a function
$(".startdate").datepicker({ dateFormat: 'dd/mm/yy' });
对话框:
$("#inputupdatecontrol").dialog is not a function
position: 'top center'
这些都可以正常工作,直到我在这里找到带有cookies dashobard解决方案的inettuts:http://james.padolsey.com/javascript/inettuts-with-cookies/
这包括以下JQuery版本和文件:
jquery-1.2.6.min.js
jquery-ui-personalized-1.6rc2.min.js
cookie.jquery.js
inettuts.js
有没有什么方法可以从我现有的JQuery版本中分离这些文件附带的功能? 我目前正在使用最新的Jquery版本并且没有任何问题,只有当我从旧版本中添加此功能时才会遇到问题。
我只在一个页面上使用这个旧版本的Jquery,但是当然需要新版本。
干杯
答案 0 :(得分:2)
好的,这是完整的模式,请将以下内容放入:
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<script src="jQuery1.3.1.js"></script>
<script>
jq131 = jQuery.noConflict(true);
</script>
<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>
变量jq13和jq131会 每个都用于特定版本 你需要的功能。
上面命令中的Jquery返回对其自身的引用,基本上将它“装箱”在另一个变量中。
因此,要调用1.3上的函数,您可以调用
jq13('#'+ myId).bind('onclick',function(){});
注意:您必须加载最后开发的第一个版本的javascript。
答案 1 :(得分:1)
是的,您可以使用jQuery.noConflict。