Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung des Nutzungsunterschieds zwischen JQuery-Funktionsklon und Klon (wahr)
<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) Der Unterschied zwischen clone und clone(true) in diesem Beispiel besteht darin, dass clone(ture) zusätzlich zum Klonen der Sammlung auch das Klickhandle klont
(2) Das Phänomen ist: „Clone Me!“ von „Clone“ kann nicht weiter auf „Clone“ klicken. Das von clone(true) generierte Clone Me! kann jedoch weiterhin geklont werden und unterscheidet sich nicht von der ursprünglichen -Schaltfläche .
Das Obige ist meine Erfahrung mit ITeye, und ich hatte heute wirklich ein tiefes Verständnis. Ich habe fast viel redundanten Code geschrieben. Der Prozess ist wie folgt:
<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>
Der zu erzielende Effekt besteht darin, dass nach dem Klicken auf a unter id="more_list" ein geklont und zu 2eef76ab87d769eae13b8bf9c4b599a0bed06894275b65c1ab86501b08a632eb.
<span style="font-size:18px;">$("#more_list>a").click(function(){ $(".more_box").html($(this).clone(true)).show().click(); })</span>
Infolgedessen wurde zwar das Klonen erreicht, aber das Klick--Ereignis des Li-Elements selbst konnte nicht ausgeführt werden. (Basierend auf dem obigen Prinzip wird beim Klonen (wahr) auch das Klickereignis von a kopiert. Wenn also li klickt, wird das Klickereignis von a ausgelöst und das ursprüngliche Ereignis überschrieben.)
Also habe ich ein The gefunden Der Grund wurde schließlich am Nachmittag entdeckt.
Entfernen Sie das Wahre in clone(true) (nur Klonelemente, keine Ereignisse).
<span style="font-size:18px;">$("#more_list>a").click(function(){ $(".more_box").html($(this).clone()).show().click(); })</span>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Nutzungsunterschieds zwischen JQuery-Funktionsklon und Klon (wahr). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!