日期:2014-05-16  浏览次数:20446 次

jquery插件问题,没见过这种结构啊

1.在调用init时报$不是个函数
2.当我把$换成jQuery就报a未定义

------解决方案--------------------
引用:
Quote: 引用:

function(){}();会直接执行该方法 这个时候a还没有定义 你可以把a的代码顺序调一下


不是这样的,我单独测试这个jq插件是没问题的,我知道是jq冲突了,问题是为什么会报a未定义

function(){a()}()
function a(){}
这个时候 function(){a()}() 会执行a();这个时候function a还没有定义
function a(){} 放到function(){a()}()前面
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

function(){}();会直接执行该方法 这个时候a还没有定义 你可以把a的代码顺序调一下


不是这样的,我单独测试这个jq插件是没问题的,我知道是jq冲突了,问题是为什么会报a未定义

function(){a()}()
function a(){}
这个时候 function(){a()}() 会执行a();这个时候function a还没有定义
function a(){} 放到function(){a()}()前面



报TypeError: a.eq(...).valuechange is not a function 

代码不用换位置 能看看js怎么导入的吗
------解决方案--------------------
扩展jQuery方法
应该要先定义了扩展方法valuechange,再使用的

(function(a){
a.fn.valuechange=function(){
alert("这是一个jquery扩展方法");
};
})(jQuery);

$("body").valuechange();