我正在使用两个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行)
我应该怎样做才能永久避免此错误。我的意思是如果我使用任何其他库。我不会再有这个错误了。
答案 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