jQuery bind() live()

    <script type="text/javascript">
        $(document).ready(function () {
        
       /*$('.clickme').live('click', function () {
                alert("123456");
                $("#mediv").append("<div class=\"clickme\">单击</div>");
            });*/

$(
'.clickme').bind('click', function () { alert("123456"); $("#mediv").append("<div class=\"clickme\">单击</div>"); }); }); </script> <body> <form id="form1" > <div id="mediv"> <div class="clickme"> 单击 </div> </div> </form> </body>

 

使用bind()的时候,在bind事件后面添加的 .clickme 选择器的 元素是没有 click 事件效果。

而使用live()的时候,是有这个效果

 

(1)bind方法可以绑定任何JavaScript的事件,而live方法在jQuery1.3的时候只支持click, dblclick, keydown, keypress,keyup,mousedown, mousemove, mouseout, mouseover, 和 mouseup.在jQuery 1.4.1中,甚至也支持 focus 和 blue事件了(映射到更合适,并且可以冒泡的focusin和focusout上)。另外,在jQuery 1.4.1中,也能支持hover(映射到"mouseenter mouseleave")。

(2)live() 并不完全支持通过DOM遍历的方法找到的元素。取而代之的是,应当总是在一个选择器后面直接使用 .live()方法。

(3)当一个元素采用live方法进行事件的绑定的时候,如果想阻止事件的传递或冒泡,就要在函数中return false,仅仅调用stopPropagation()是无法实现阻止事件的传递或者冒泡的

posted @ 2015-06-02 16:25  dragon.net  阅读(166)  评论(0编辑  收藏  举报