jquery中delegate用在什么场合?为什么不用live呢?


jquery中delegate用在什么场合?为什么不用live呢?

jquery

蓬莱D隐者 11 years, 11 months ago

delegate() 方法为指定的元素( 属于被选元素的子元素 )添加一个或多个事件处理程序
例如给id是showspan的div中的span标签添加事件

   
  <div id="showspan"><span>showspan**showspan</span></div>
  
<span>outspan</span>
<SCRIPT LANGUAGE="JavaScript">
<!--
//效果就是点击一个段落<div id="showspan">中span标签将在span标签后面添加一个span标签,对于新增的span标签同样可以点击新增一个span标签,新增的标签不需要监听其click事件
$("#showspan").delegate("span", "click", function(){
$(this).after("<span>showspan**showspan</span>");
});
//-->
</SCRIPT>

live() 方法为被选元素附加一个或多个事件处理程序(不能给其子元素添加事件)
例如给p标签添加事件

   
  <p class="showp">pppppppp</p>
  
<SCRIPT LANGUAGE="JavaScript">
<!--
$(".showp").live("click", function(){
$(this).after("<p>pppppppp</p>");
});
//-->
</SCRIPT>

平田真杯具男 answered 11 years, 11 months ago

Your Answer