浅析jquery某一要素重复绑定的难点【奥门金沙手机娱乐网址】

jQuery绑定事件我们应该很熟习了。jquery在1.7版本后,建议我们用on方法代替从前的bind、live、delegate方法。那样三个须要,如若用live(卡塔尔(قطر‎方法完结的话
特轻易,轻易精通。

本小说来给各位同学介绍有关jquery
on(卡塔尔方法绑定多个选拔器,八个事件,希望些方法对各位会全体利于。

某天中午写代码的时候,忽地出了bug,想了十分久都不知情难点出在哪儿(其实是很简短的题目,但鉴于自己照旧个生手,所以不亮堂卡塔尔。多次经过周折,那中档的进度就不提了,终于让自身在快崩溃的时候,发现了源委。原本是因为同一jquery成分能够重复绑定,当使用了嵌套绑定的时候,就便于出错。如代码:

$(‘navli,#sb-navli,#helpli’).live(‘click’,function(){

on(events,[selector],[data],fn)

复制代码 代码如下:

事实上查看live源码就知晓,live实际是寄托doucment举行事件委派的。依照这一个思路,能够将on方法绑定到document就可以。

•events:三个或多少个用空格分隔的轩然大波类型和可选的命名空间,如”click”或”keydown.myPlugin”

•selector:一个采纳器字符串用于过滤器的触发事件的选择器成分的遺家族。就算选取器为null或简捷,当它达到选定的要素,事件三番两次触发。
•data:当多少个事变被触发时要传送event.data给事件管理函数。
•fn:该事件被触发时实行的函数。 false
值也能够做几个函数的简写,重回false。

$(‘.test’).bind(‘click’,function(){
     $(‘.last’).bind(‘click’,function(){
浅析jquery某一要素重复绑定的难点【奥门金沙手机娱乐网址】。          alert(‘nihao’);
     });
});

$.on(‘click’,’#header.fixed-feedback-bn,#sb-sec.feedback-bn’,function(){

这么三个须要,要是用live(State of Qatar方法实现的话 特简单,轻易精晓。

<button class=”test”>上顶级绑定</button>
<button class=”last”>下一流绑定</button>

再有一种情况,on(卡塔尔方法绑定多少个事件,能够那样写:

 代码如下

当自己点击第三个button时,再点击第4个button,是从未难题的。可若是在页面刷新早先,点击了频繁(n次)第叁个button的话,那时候再点击第二个button,就出标题了,就能够弹出(n个)alert对话框。

$(“table.planning_grid”).on({

复制代码

解决办法:在会再也绑定的要素上进行解绑,即unbind(State of Qatar,如:

mouseenter:function(){

$(‘nav li, #sb-nav li, #help li’).live(‘click’, function () {
    // code…
});

复制代码 代码如下:

//Handlemouseenter…

jquery在1.7本子后,提出大家用on方法替代在此之前的bind、live、delegate方法。
那上边一句假使用on的话,怎么写啊?

$(‘.test’).bind(‘click’,function(){
     $(‘.last’).unbind(‘click’).bind(‘click’,function(){
          alert(‘nihao’);
     });
});

mouseleave:function(){

实则查看live源码就明白,live实际是委托doucment举行事件委派的。

 
如此那般,不管点击多少次第一个button,再点击第一个时,只会弹出二个alert对话框。