为了账号安全,请及时绑定邮箱和手机立即绑定

您好,想请问下jquery的bind的用处?有什么特别之处?

您好,想请问下jquery的bind的用处?有什么特别之处?

繁星淼淼 2021-10-13 15:11:05
比如$(#nav a).click(function(){})和$(#nav a).bind("click",function(){})有什么区别,都是click事件,什么情况下会用到bind而不用click
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

没啥区别,个人感觉是喜好写法问题,我刚测试了一下,没感觉有啥区别
D1:
$("#btn").bind("click",function(){
alert("test1");
});

$("#btn").bind("click",function(){
alert("test2");
});
D2:
$("#btn").click(function(){
alert("test1");
});

$("#btn").click(function(){
alert("test2");
});

这两个执行效果一样,都会依次弹出来两个对话框

我刚才又研究了一个jquery的源码,诸如click(),dblclick(),mousemove()这样的简单写法的事件绑定的都是调用的this.on( name, null, data, fn ) 这个方法进行事件绑定的,而bind()也同样是调用的这个
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
所以说 click()只是简化写法,而且jquery的文档里也有关于这样的说明
---------------------------- 以下的引用jquery文档的说明 -----------------------------------------
.bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象,比如focus, mouseover, 和 resize,都是可以作为type参数传递进来的。

jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind('click')。一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 。



查看完整回答
反对 回复 2021-10-17
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这两个是有区别的,用到的地方不同;
$(#nav a).click(function(){})这个是硬代码;

bind是动态绑定。
如果一个页面的某个元素最初没有点击事件,
直到某一条件达成之后才添加点击事件就需要用到bind函数了

查看完整回答
反对 回复 2021-10-17
?
绝地无双

TA贡献1946条经验 获得超4个赞

当一个方法没有打印完成时,用绑定事件写在这个方法内,可以同时进行打印和绑定你所要发生的事件,而click事件不能写在这个方法内部,必须写在外面,才能正常运行。

例如:
function searchConditions(){
var strSearch = "<div class=\"P1_top_left\"> </div>"
+ '<div class="P1_top_middle">'
+ '<div class="P1_search_left">'
+'<label class="P1_search_left_img"><img src="imgs/filter.png" /></label>'
+'<label class="P1_search_left_text">筛选条件</label>'
+'</div>'
+ '<div class="P1_search_center"></div>'
+ '<div class="P1_search_right"><label><input id=\"iIpt_txt_search\" class="P1_txt_search" name="txt_search" type="text" /></label>'
+'<label><input id=\"iIpt_btn_search\" class="P1_btn_search" type="button" value="搜一下" /></label></div>'
+'</div>'
+ "<div class=\"P1_top_right\"> </div>";
$("#P1_div_search_top").html(strSearch);
$("#iIpt_btn_search").bind({
click:function(){
searchList();
}
});
$("#iIpt_txt_search").bind({
keyup:function(event){
if(event.keyCode=="13"){
searchList();
}
}
});
}

这样写不知道你能不能理解?



查看完整回答
反对 回复 2021-10-17
  • 3 回答
  • 0 关注
  • 228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信