最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jquery函数clone与clone(true)的用法区别详解

来源:懂视网 责编:小采 时间:2020-11-27 20:18:47
文档

jquery函数clone与clone(true)的用法区别详解

jquery函数clone与clone(true)的用法区别详解:<span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="jquery-1.4.3.js&qu
推荐度:
导读jquery函数clone与clone(true)的用法区别详解:<span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="jquery-1.4.3.js&qu

<span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-1.4.3.js" type="text/javascript"></script>
 
<script>
$(document).ready(function(){
 
$("button").click(function(){
$(this).clone(true).insertAfter(this);
});
 
});
</script>
 
</head>
<body>
<button>Clone Me!</button>
</body>
</html></span>


(1)这个例子中 clone , clone(true)的区别在于,clone(ture)除了克隆集合,还会克隆click句柄

(2)现象就是:clone的 Clone Me! 无法继续点击克隆。但是clone(true)出来的 Clone Me! 可以继续克隆,和原本按钮没有区别。

如上是ITeye中的经验,今天确实深刻感悟了一番。差点儿又写出了一大堆冗余代码。 过程如下:

<span style="font-size:18px;"><li class="more_box"></li>
<li class="tab_more">
 <p id="more_list">
 <a href="#"><b>绩效考核</b></a>
 <a href="#"><b>管理考核</b></a>
 <a href="#"><b>岗位分析</b></a>
 <a href="#"><b>系统维护</b></a>
 <a href="#"><b>个人设置</b></a>
 </p> 
</li></span>


需要实现的效果是id="more_list"下的a单击后,将a克隆并添加到<li class="more_box"></li>之中。

<span style="font-size:18px;">$("#more_list>a").click(function(){
 $(".more_box").html($(this).clone(true)).show().click();
})</span>


结果确实实现了克隆,但li元素本身的click事件怎么也运行不了了。(以上述原理,当clone(true)时,将a的click事件也复制过去了,所以li单击时触发的是a的click的事件,原本的事件被覆盖)
于是乎找了一下午原因终于发现了。

去掉clone(true),中的true即可(只克隆元素,不克隆事件)。

<span style="font-size:18px;">$("#more_list>a").click(function(){
 $(".more_box").html($(this).clone()).show().click();
})</span>

文档

jquery函数clone与clone(true)的用法区别详解

jquery函数clone与clone(true)的用法区别详解:<span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="jquery-1.4.3.js&qu
推荐度:
标签: clone jQuery clone()
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top