注: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');