jquery clone 与 clone(true) 的区别
生活随笔
收集整理的這篇文章主要介紹了
jquery clone 与 clone(true) 的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文轉自:http://blog.baiwand.com/?post=27
<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"><div 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></div> </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) 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity学习笔记5 unity的js转
- 下一篇: jQuery中append、insert