Mootools中使用bind给函数绑定对象
2014-08-21 16:52
288 查看
我们先来看一下下边的代码:
上边的函数我想实现的功能是给函数所对应的对象this设置css属性,然后我在调用函数的时候并未传递给这个函数任何对象,那么此时this应该对应的对象时window
那如果我要操作指定的某个节点该怎么做呢?看下边传统的方式:
这是一种最传统的做法,要求我们在调用函数的时候传递对象给函数,此时就可以在函数内操作该对象了,然而Mootools给我们提供了一个更好的方法来实现此功能,如下:
我们在调用函数之前首先给Fun用bind方法把$('id')这个节点绑定给了Fun,并赋值给bFun,之后我们调用bFun就行了,这时候在Fun内操作this的时候就相当于在操作$('id')
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')
相关文章推荐
- Mootools中使用bind给函数绑定对象
- C++关于tr1中绑定成员函数的bind使用
- lambda,std::function, 函数对象,bind的使用备忘
- 【C++】boost::bind和函数对象一起使用实现便捷的异步编程
- 函数对象,lamdda表达式,function函数包装,std::bind函数绑定
- 使用Socket套接字绑定函数bind的一个细节
- C++ Boost::bind函数包装器使用,boost::bind与伪函数的绑定使用
- jQuery使用bind函数实现绑定多个事件的方法
- Boost关于bind的使用以及函数对象和传递参数的问题
- javascript使用bind()函数绑定this
- boost::bind绑定成员函数时,第一个参数传递对象的特殊情况
- 使用boost.bind绑定class的成员函数作为boost thread的入口
- bind(this)绑定this指向的对象、箭头函数和闭包
- 使用派生类对象通过成员函数指针调用基类虚函数之不可能性的证明
- [导入]使用反射将业务对象绑定到 ASP.NET 窗体控件(修改篇)
- 使用反映实现前端WEB窗口控件与后台数据库类对象的动态绑定
- DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- 函数对象的使用
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- 使用反射将业务对象绑定到 ASP.NET 窗体控件