我已经在我的<head>
的顶部声明了jQuery,下面我引用了大量其他插件。当我在页面正文中这样做时:
<script type="text/javascript">
$(function() {
alert('hello');
});
</script>
我没有收到警报。但是如果我像这样重新声明jQuery:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
alert('hello');
});
</script>
它的工作原理。是否有任何方法可以将$重新分配给jQuery(这就是我猜测的问题所在)。所以我可以用$代替jQuery的noconflict
<script type="text/javascript">
jQuery(function($) {
alert('hello');
//use $ however u want
});
</script>
小提琴(使用$_
): http://jsfiddle.net/maniator/B3hU4/
您将jQuery内联放置在页面上,而不是文档就绪块中。如果在document ready块中没有它们,就不能保证在函数被触发之前jQuery已经完全加载。
这样封装:
<script type="text/javascript">
(function($) {
alert('hello');
})(jQuery);
</script>
如果你想全局返回$为jQuery,也可以这样做:
window.$ = jQuery;