jquerybind,jquery bind on 区别
jQuery中bind()怎么去除事件冒泡
使用stopPropagation() 方法;
e.stopPropagation()方法不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
例:div点击事件阻止冒泡;
div id="div1"div id="div2"/div/div
js
$("#div2").bind("click",function(e){
e.stopPropagation();//阻止事件冒泡,点击div2的时候将不发生点击div1的事件;
});
jQuery中bind()方法中的参数
bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。其语法为:
$(selector).bind(event,data,function)
参数说明如下:
event:规定添加到元素的一个或多个事件。必需。
data: ?规定传递到函数的额外数据。可选。
function: 规定当事件发生时运行的函数。必需。
示例如下:
//?当点击鼠标时,隐藏或显示?p?元素:
$("button").bind("click",function(){
??$("p").slideToggle();
});
jquery中的bind,live,delegate和on方法的区别是什么
$(selector).bind(event,data,function)
$(selector).live(event,data,function)//jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替$(selector).delegate(childSelector,event,data,function)//jquery1.4.2及其以上版本;$(selector).on(event,childselector,data,function)//jquery1.7及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式;
event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;
单事件处理:例如 $(selector).bind("click",data,function);
多事件处理:1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout",data,function);
2.利用大括号灵活定义多事件,例如 $(selector).bind({event1:function, event2:function, ...})
3.空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;
大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;
data:可选;需要传递的参数;
function:必需;当绑定事件发生时,需要执行的函数;适用所有版本,但是根据官网解释,自从jquery1.7版本以后bind()函数推荐用on()来代替。
Jquery中bind和live的区别
Jquery中bind和live的区别如下:
1.bind()可以绑定多个事件,live()一次只能绑定一个事件。
区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。
2.live 目前只支持所有事件的子集,支持列表参考上面的说明。
.live 不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。
.live 没有”setup”和”cleanup”的过程。因为所有的事件是委派而不是直接绑定在元素上的。