29

jQueryをどのように使用できますか。イベントon()付きのメソッド?load例:コードは次のとおりです。

<a href="#" id="add">Add</a>
<div id="initial">
     <input type="text" class="abc" name="in">
</div>

そしてそれのためのjQuery:

jQuery(document).ready(function() {
    var x=$('#initial').html();
    $('#add').click(function(){
        $('body').append(x);
    });
    $(document).on('load','.abc',function(){
        alert('started');
    });
});
4

4 に答える 4

24

http://api.jquery.com/on/を参照してください

それは言う

すべてのブラウザで、ロード、スクロール、およびエラーイベント(<img> 要素など)はバブルしません。Internet Explorer 8以前では、貼り付けイベントとリセットイベントはバブルしません。このようなイベントは、委任での使用はサポートされていませんが、イベントハンドラーがイベントを生成する要素に直接接続されている場合に使用できます。

新しい入力ボックスが追加されたときに何かをしたい場合は、追加した後にコードを書くだけです。

$('#add').click(function(){
        $('body').append(x);
        // Your code can be here
    });

また、ドキュメント内の最初の入力ボックスが読み込まれたときに同じコードを実行する場合は、関数を記述して、両方の場所、つまり$('#add').clickドキュメントのreadyイベントで呼び出すことができます。

于 2012-07-11T03:38:40.743 に答える
11

ここで何をしようとしているのかわかりません。jQuery(document).ready()実行されるまでに、すでにロードされているため、documentのロードイベントはすでに呼び出されています。loadこの時点でイベントハンドラーをアタッチしても効果はなく、呼び出されることもありません。alertドキュメントがロードされた後で「開始」しようとしている場合は、次の(document).ready()ように、ドキュメントを呼び出しに正しく配置します。

jQuery(document).ready(function() {
    var x = $('#initial').html();
    $('#add').click(function() {
        $('body').append(x);
    });
    
    alert('started');
    
});​

コードもほのめかしているように見えるので、ロードされたときにアラートを発生させたい場合.abcは、個別の.loadハンドラーに配置します。

jQuery(document).ready(function() {
    var x = $('#initial').html();
    $('#add').click(function() {
        $('body').append(x);
    });
    
    $(".abc").on("load", function() {
        alert('started');
    })
});​

最後に、jQueryある場所と$別の場所で使用することにほとんど意味がありません。通常、コードの一貫性を保ち、どこでも、jQueryまたは$どこでも使用することをお勧めします。これは、2つが一般的に交換可能であるためです。

于 2012-07-11T03:38:41.563 に答える
8

関数 onLoad を実行するには

jQuery(window).on("load", function(){
    ..code..
});

コード onDOMContentLoaded を実行するには (onready とも呼ばれます)

jQuery(document).ready(function(){
    ..code..
});

または推奨される onready の短縮形

jQuery(function($){
    ..code.. ($ is the jQuery object)
});

ドキュメントがロードされたときに onready が起動します

onload は、ページ上の画像など、ドキュメントと関連するすべてのコンテンツが読み込まれたときに発生します。

于 2013-12-16T11:40:36.263 に答える