新的JQuery函数 在 document.ready 里面无法调用,在document.ready 外面调用却可以;为什么?
<script type="text/javascript">
(function($) {
$.fn.abc = function() {
alert("new function of abc");
};
})(jQuery);
<!-- test 1:测试成功,alert正常弹出 -->
$("#simple_sketch").abc();
<!-- test 2
注释掉test1后,测试test2;test2失败:
浏览器报错:TypeError: $(...).abc is not a function
-->
$(document).ready(function() {
$("#simple_sketch").abc();
});
</script>
没问题,你确认就这些代码,是不是其他地方修改过abc扩展了什么的
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<div id="simple_sketch"></div>
<script type="text/javascript">
(function($) {
$.fn.abc = function() {
alert("new function of abc");
};
})(jQuery);
$(document).ready(function() {
$("#simple_sketch").abc();
});
</script>
果然是后面的一个js文件也定义了$.fn,直接注释掉那个js文件就好了。