jquery文件选择器冲突

时间:2011-10-02 12:33:41

标签: jquery

我正在使用两个jQuery库。一个是来自站点的主库(我将其命名为mainlibrary.js),另一个是limitkeypress.js(命名为相同)。我认为这两个文件都是冲突的。我在第24行的sadd.php中使用了代码

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

我的Chrome错误是

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

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

我在第125行的limitkeypress文件的末尾是代码.. })(jQuery);

Firefox扩展名firebug发出与...相同的错误

  • $不是函数

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

  • $(document).ready(function(){

我应该怎样做才能永久避免此错误。我的意思是如果我使用任何其他库。我不会再有这个错误了。

2 个答案:

答案 0 :(得分:1)

您使用$.noConflict(),取消绑定$,然后尝试在下一行使用它。如果您正在加载jQuery,jQuery应该可用。

答案 1 :(得分: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