<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()是无法实现阻止事件的传递或者冒泡的