代码如下:
/*test.js*/
(function( $ ){
$.fn.test = function() {
var data = {};
alert('test');
return data;
};
})( jQuery );
/*test.jsp*/
//引入jquery文件和test.js
var a = $("#abc").test();
当我调用定义的test时,控制台提示找不到test, 但是如果只是一个简单的function则可以调用到,我问题出在哪呢,希望指点一下。
JS文件(test.js)有引入到Html文件里边么?
扩展jQuery的实例方法,应该这样写
$.fn.extend({
test: function(){
alert('test');
}
});
问题已经找到了,代码是没有问题的,引入的jquery文件也没有问题,问题是我引了两次jquery文件,把多引入的那行删除问题就不存在了。
重复导入jqeury会覆盖已经添加到fn中的扩展,除非你的扩展是在最后一个jquery 的script执行的,在前面被覆盖,这么基础的错误都能犯