我们先来看一下下边的代码:
function Fun(){
this.setStyle('color', 'red');
};
Fun();
上边的函数我想实现的功能是给函数所对应的对象this设置css属性,然后我在调用函数的时候并未传递给这个函数任何对象,那么此时this应该对应的对象时window
那如果我要操作指定的某个节点该怎么做呢?看下边传统的方式:
function Fun(o){
o.setStyle('color', 'red');
};
Fun($('id'));
这是一种最传统的做法,要求我们在调用函数的时候传递对象给函数,此时就可以在函数内操作该对象了,然而Mootools给我们提供了一个更好的方法来实现此功能,如下:
function Fun(){
this.setStyle('color', 'red');
};
var bFun = Fun.bind($('id'));把$('id')绑定给Fun的this
bFun();
我们在调用函数之前首先给Fun用bind方法把$('id')这个节点绑定给了Fun,并赋值给bFun,之后我们调用bFun就行了,这时候在Fun内操作this的时候就相当于在操作$('id')