jquery関数cloneとclone(true)の使い方の違いを詳しく解説

巴扎黑
リリース: 2017-06-25 09:58:12
オリジナル
1267 人が閲覧しました

<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) はコレクションの複製に加えて、クリック ハンドルの複製も行うことです

(2) 現象は次のとおりです: 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 を複製して

  • <span style="font-size:18px;">$("#more_list>a").click(function(){
        $(".more_box").html($(this).clone(true)).show().click();
    })</span>
    ログイン後にコピー


    結果は確かに複製されていますが、li 要素自体の clickevent は実行できません。 (上記の原則に基づいて、clone(true) の場合、a のクリック イベントもコピーされるため、li がクリックすると、a のクリック イベントがトリガーされ、元のイベントが上書きされます)
    そこで、午後をかけて探しましたその理由 やっと分かりました。

    clone(true) の true を削除するだけです (イベントではなくクローン要素のみ)。

    りー


    以上がjquery関数cloneとclone(true)の使い方の違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

  • 関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!