Mootools中使用bind给函数绑定对象

我们先来看一下下边的代码:

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')


posted @ 2011-11-14 01:31 PHP群:223494678 阅读(...) 评论(...) 编辑 收藏