javascript bind的用法
答案:3 悬赏:80 手机版
解决时间 2021-03-16 21:03
- 提问者网友:孤凫
- 2021-03-15 21:35
javascript bind的用法
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-03-15 23:01
bind( )方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象。
.bind(eventType[, evnetData], Handler(eventObject))
其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型;eventData为Map类型,给出要传递给事件处理程序的数据,handler指定触发该事件时要执行的函数,eventObject表示事件对象。
.bind()方法将事件处理程序handler附加到匹配元素集合中的每个元素的eventType事件上,如果需要,还可以向事件处理程序传递数据。
.bind(eventType[, evnetData], Handler(eventObject))
其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型;eventData为Map类型,给出要传递给事件处理程序的数据,handler指定触发该事件时要执行的函数,eventObject表示事件对象。
.bind()方法将事件处理程序handler附加到匹配元素集合中的每个元素的eventType事件上,如果需要,还可以向事件处理程序传递数据。
全部回答
- 1楼网友:怙棘
- 2021-03-16 01:55
对多个事件进行处理
当点击鼠标时,隐藏或显示 p 元素:
$("button").bind("click",function(){
$("p").slideToggle();
});追问多个事件,是指点击button后,所有的button有起作用?追答看你选择的是哪些button,这个用法是对你选择到的对象他所触发的事件,
$("button").bind({
click:function(){$("p").slideToggle();},
mouseover:function(){$("body").css("background-color","red");},
mouseout:function(){$("body").css("background-color","#FFFFFF");}
});
比如这个。你看他定义了3个触发事件,然后每个事件有对应的function。
当点击鼠标时,隐藏或显示 p 元素:
$("button").bind("click",function(){
$("p").slideToggle();
});追问多个事件,是指点击button后,所有的button有起作用?追答看你选择的是哪些button,这个用法是对你选择到的对象他所触发的事件,
$("button").bind({
click:function(){$("p").slideToggle();},
mouseover:function(){$("body").css("background-color","red");},
mouseout:function(){$("body").css("background-color","#FFFFFF");}
});
比如这个。你看他定义了3个触发事件,然后每个事件有对应的function。
- 2楼网友:梦中风几里
- 2021-03-16 00:25
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));
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯