【关于JQuery设计思想之 方法函数化是什么意思啊?在线等···】
JQuery设计思想
方法函数化:
1.原生的
window.onload
innerHTML
onclick
2.JQuery的
$()
html()
click()
请问“方法函数化”什么意思啊???? 在线等..............
[解决办法]
简单,请加强面向对象基础
举例:
function $$(id)
{
var dom=document.getElementById(id);
var obj={dom:dom};
obj.html=function(str)
{
this.dom.innerHTML=str;
}
obj.click=function(fun)
{
this.dom.onclick=fun;
}
return obj;
}
现在就可以类似jquery那样使用了(注意这是自定义的$$对象,无需引入jquery文件):
$$("div1").html("123");
$$("div1").click(function(){alert(1);});
[解决办法]
没听说过什么"方法函数化"的说法,
不过是在js提供的原生方法外面套了一层罢了,
js的基础到了,这些都是水到渠成的理解了,基础不到,扣概念也没用
[解决办法]
我不用jquery,不知道jquery内部怎么设计的,不过技术上一个事件调用多少函数是没有限制的,就看你怎么设计了,当然本质上事件的方法肯定只有一个,实现上却不受限制
同样以刚才的例子改改:
function $$(id){ var dom=document.getElementById(id); var obj={dom:dom}; obj.html=function(str) { this.dom.innerHTML=str; } obj.clicks=new Array(); obj.dom.onclick=function() { for(var i=0;i<this.clicks.length;i++) { this.clicks[i](); } } obj.click=function(fun) { this.clicks.push(fun); } return obj;}调用:$("div1").click(function(){alert(1);});$("div1").click(function(){alert(2);});///点击时两个函数都会被调用
[解决办法]
刚刚有地方写错了写错
function $$(id){ var dom=document.getElementById(id); var obj={dom:dom}; obj.html=function(str) { obj.dom.innerHTML=str; } obj.clicks=new Array(); obj.dom.onclick=function() { for(var i=0;i<obj.clicks.length;i++) { obj.clicks[i](); } } obj.click=function(fun) { obj.clicks.push(fun); } return obj;}调用:$("div1").click(function(){alert(1);});$("div1").click(function(){alert(2);});///点击时两个函数都会被调用
[解决办法]