javascript bind的用法,请高手指点!
3 回答
偶然的你
TA贡献1841条经验 获得超3个赞
javascript的bind
bind主要是为了改变函数内部的this指向,这个是在ECMA5以后加入的,所以IE8一下的浏览器不支持
bind方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入bind方法的第一个参数作为this,传入bind方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数.
可以看这段实例:
var logger = { x: 0, updateCount: function (){ this .x++; console.log( this .x); } } // 下面两段代码的实现是一样的 document.querySelector( 'button' ).addEventListener( 'click' , function (){ logger.updateCount(); }); //用这种方式让代码更简洁,当然这只是bind的一种场景 document.querySelector( 'button' ).addEventListener( 'click' , logger.updateCount.bind(logger)); |
心有法竹
TA贡献1866条经验 获得超5个赞
对多个事件进行处理
当点击鼠标时,隐藏或显示 p 元素:
$("button").bind("click",function(){
$("p").slideToggle();
});
当年话下
TA贡献1890条经验 获得超9个赞
bind( )方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象。
.bind(eventType[, evnetData], Handler(eventObject))
其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型;eventData为Map类型,给出要传递给事件处理程序的数据,handler指定触发该事件时要执行的函数,eventObject表示事件对象。
.bind()方法将事件处理程序handler附加到匹配元素集合中的每个元素的eventType事件上,如果需要,还可以向事件处理程序传递数据。
添加回答
举报
0/150
提交
取消