JQuery “bind()”/“on()”区别

前端之家收集整理的这篇文章主要介绍了JQuery “bind()”/“on()”区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

注:JQuery在1.9.x版本之后把“on”替换了原来的“live”。

bind():为当前页面的指定元素绑定方法

$('...').bind('click,mousemove',function(){'...'});

on():“on”方法也能实现如“bind”的效果,只需要把上面代码中的“bind”换成“on”就可以了。

$(document).on('click,function(){'...'});

但需要实现“live”的效果则需要在原来代码上进行修改,使用这个方式后便能为所有的指定元素绑定事件,包括动态生成的元素(即尚未出现的元素),具体在这里不深入讲解.

$(document).on('click','.lei',function(){'...'});

这句代码表示:把“document”下的所有类为“lei”的元素在“click”的时候绑定方法。“document”可根据需求更改以便控制绑定范围。

“on()”解除绑定的方法

如“bind()”使用“unbind()”解除绑定,假如“on()”不使用“live()”的方式绑定方法的话也可以使用“unbind()”的方式解除绑定,只需要帮“unbind”改为“off”。
但如果使用“live()”的方式来绑定方法,则需要使用一下方法来解除绑定:

$(document).off('click','.lei');

注意:
假如使用“live()”方式来绑定方法,在解除绑定的时候必须要注意。
假设“.lei”的标签是“a”标签。解除绑定的时候必须根据选择器来解绑,如下:

这个是可以成功的。

$(document).off('click','.lei');

这个是不会成功的。

$(document).off('click','a');

猜你在找的程序笔记相关文章