Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de la différence d'utilisation entre la fonction jquery clone et clone (true)

巴扎黑
Libérer: 2017-06-25 09:58:12
original
1267 Les gens l'ont consulté

<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>
Copier après la connexion


(1) La différence entre clone et clone(true) dans cet exemple est qu'en plus de cloner la collection, clone(ture) clone également la poignée de clic

(2) Le phénomène est le suivant : Clone Me ! de clone ne peut pas continuer à cliquer sur clone. Cependant, le Clone Me! généré par clone(true) peut continuer à être cloné, et ce n'est pas différent du bouton original .

Ce qui précède est mon expérience dans ITeye, et j'ai vraiment eu une compréhension profonde aujourd'hui. J'ai presque écrit beaucoup de code redondant. Le processus est le suivant :

<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>
Copier après la connexion


L'effet à obtenir est qu'après avoir cliqué sur a sous id="more_list", clonez a et ajoutez-le à

  • .

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


    En conséquence, le clonage a bien été réalisé, mais l'événement click de l'élément li lui-même n'a pas pu s'exécuter. (Sur la base du principe ci-dessus, lorsque clone(true), l'événement click de a est également copié, donc lorsque li clique, l'événement click de a est déclenché et l'événement d'origine est écrasé)
    J'ai donc trouvé un The la raison a finalement été découverte dans l’après-midi.

    Supprimez le vrai dans clone(true) (uniquement les éléments clones, pas les événements).

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


    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!