ホームページ > 記事 > ウェブフロントエンド > jQuery でデリゲートの代わりに on を使用することと live を使用することの違いの詳細な説明
初期の頃は、後からページに読み込まれる動的要素にイベントや値を割り当てる場合、効率が低いためライブが使用されていました(実際にはデータがあまりなく、目立たなかった)。その後、1.7 以降では、デリゲートの代わりに on が使用されますが、記述上は異なります。たとえば、ボタン:
ページ:
<div id="panel"> <input type="button" name="name" value="clone"class="btnAdd" /> </div>
スクリプト:
のいずれかをクリックします。 1.1 live
jQuery version 1.3+ を使用する
$('.btnAdd').live('click', function () { $(this).clone().appendTo('#panel'); });
1.2 #panel などのスコープを与えずに直接 on に変更する これは、最初にページにあった button に対して有効です。 は live
$('.btnAdd').on('click', function () { $(this).clone().appendTo('#panel'); });
を直接置き換えることはできません。 2. デリゲートを使用するには、#panel などの範囲のみを指定する必要があります。これにより、内部を検索できます。ライブ
$('#panel').delegate('.btnAdd', 'click', function () { $(this).clone().appendTo('#panel'); });
3.使用on 给它一个范围才行,如#panel,让它到里面找. 这样可以实现live和delegate一样的效果.
里面的'click', '.btnAdd'跟上面的delegate是相反的.只要记住on click是挨在一起的就行了.
jQuery版本1.7+
$('#panel').on('click', '.btnAdd', function () { $(this).clone().appendTo('#panel'); });
以上がjQuery でデリゲートの代わりに on を使用することと live を使用することの違いの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。