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

如何执行JQUERY方法?
我想实现类似功能:

//前端调用
$(function(){
  $("#id").YSZ({   //初始化
     par1:"张三",
     par2:"男"
  });
  $("#id2").click(function(){
     $("#id").YSZ("TEST","测试");  //调用方法,第一个参数为方法名,第二个为参数
  });
})

我的意思是:当传入对象的时候,插件执行初化,当传入两个字符串参数时,就是调用插件内置的方法!请问该如何实现??

------解决方案--------------------
我觉得,你想要的应该是这个
见代码
<input class="a" style="width:500px">
<input class="a" style="width:500px">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$.fn.YSZ = function(p1,p2){
if(typeof(p1)=="string")
$.fn.YSZ.methods[p1](this, p2);
else
//做些初始化的事情
this.height(p1.height);
}
$.fn.YSZ.methods = {
fun1:function(jqueryObj, p){
jqueryObj.get(0).value = "fun1 called param:"+p.p1+","+p.p2;
},
fun2:function(jqueryObj, p){
jqueryObj.get(1).value = "fun2 called param:"+p.p1+","+p.p2+","+p.p3;
}
}

$(".a").YSZ("fun1",{p1:"参数1",p2:"参数2"});
$(".a").YSZ("fun2",{p1:"参数3",p2:"参数4",p3:"参数5"});
$(".a").YSZ({height:100});
</script>