您有个知识币

【退出】

jquery 里bind和live函数的区别和用法

jquery 里bind和live函数的区别和用法

bind:

$("p").bind("click", function(){

 alert( $(this).text() );

});

$("form").bind("submit", function() { return false; })

$("form").bind("submit", function(event){

 event.preventDefault();

});

live:

jQuery 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。

目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。

还不支持 blur, focus, mouseenter, mouseleave, change, submit

与bind()不同的是,live()一次只能绑定一个事件。

这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

.live()与流行的liveQuery插件很像,但有以下几个主要区别:

  • .live 目前只支持所有事件的子集,支持列表参考上面的说明。
  • .live 不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。
  • .live 没有"setup"和"cleanup"的过程。因为所有的事件是委派而不是直接绑定在元素上的。
  • jquery 里bind和live函数的取消

    bind方法使用unbind来取消

    例:$("#testid").unbind("click");

    要移除用live绑定的事件,请用die方法

    例:$("#testid").die("click");

    die的详细用法参考:http://www.w3school.com.cn/jquery/event_die.asp

    本文固定链接: http://www.webzhishi.com/jquery-bind/ | web知识网

    jquery 里bind和live函数的区别和用法:目前有2 条留言

    1. 上海做网站:  

      谢谢分享,学习了

      2012-07-09 13:37:17 [回复]
    2. 海纳百川:  

      bind用过,live不太会,没用过。

      2012-07-10 13:29:59 [回复]

    发表评论