2011-10-02 69 views
0

我使用jQuery的两个库。一个是来自站点的主库(我将它命名为mainlibrary.js),另一个是limitkeypress.js(命名为相同)。我认为这两个文件是冲突的。我使用的代码在sadd.php在管线24作为jquery文件选择冲突

<script type="text/javascript"> 
$.noConflict(); 
$(document).ready(function() { 
    $("#title").limitkeypress ({ rexp:/^[A-Za-z.\-\s]*$/ }); 
}); 
</script> 

我铬误差作为

  • limitkeypress.js:125未捕获的ReferenceError:未定义的jQuery (匿名功能)

  • sadd.php:24 Uncaught TypeError:对象[对象DOMWindow]的属性'$'不是函数(匿名函数)

我在第125行的limitkeypress文件以代码结束.. })(jQuery);

Firefox扩展Firebug的问题,同样的错误..

  • $不是一个函数

  • sadd.php()。 sadd.php(第24行)

  • $(文件)。就绪(函数(){

我应该为了做到避免这个错误是什么永久。我的意思是,如果我使用任何其他图书馆。我赢了“T有这样的错误进一步。

+0

为什么你觉得他们是矛盾的?你不应该调用'noConflict',因为'limitkeypress'只是一个插件。 – Dennis

回答

1

您使用$.noConflict(),其中解除绑定$,然后尝试使用它的下一行。jQuery应该是可用的,如果你装的jQuery。

+0

请给我一些提示我是这个新手...... jquery .. –

+0

你也可以给jQuery一个不同的快捷方式,如var $ j = jQuery.noConflict();然后使用$ j。 –

+0

@RahulSingh他做到了。调用$ .noConflict(),然后使用名称jQuery而不是$。 –

0

如果您同时加载两个jquery的版本,你应该特别小心,因为你之前需要使用noconflict加载另一个。看看this文章的这个例子

<!-- load jQuery 1.1.3 --> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.1.3.js"></script> 
<script type="text/javascript" src="jquery.dimensions.min.js"></script> 

<!-- revert global jQuery and $ variables and store jQuery in a new variable --> 
<script type="text/javascript"> 
var jQuery_1_1_3 = $.noConflict(true); 
</script> 

<!-- load jQuery 1.3.2 --> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.3.2.js"></script> 

<!-- revert global jQuery and $ variables and store jQuery in a new variable --> 
<script type="text/javascript"> 
var jQuery_1_3_2 = $.noConflict(true); 
</script> 

如果你只是想用$代替jQuery,不叫noConflict

+0

@Nicole:你可以加入我在gotomeeting.com,我将能够告诉你我的代码。 –

+0

你能带我去聊天吗? –