2

私が書くことができる最も単純な .on 関数があります。ロード時にフォームを検証しようとすることから始まり、何分間もフラストレーションを感じた後、次のことを試しました。

  $('p').on('load',function(){
     console.log("hello"); 
  });

これもうまくいきません。私は困惑しています。内外の両方で試してみましたが$(document).ready()、どちらも機能せず、コンソールもチェックしましたが、JSにエラーはありません。

何がこれを引き起こしているのか、それは私をとても怒らせる

4

3 に答える 3

1

jQuery には、特定の要素が初めて使用可能になったときにイベントを発生させる方法がありません。setInterval を使用してそれを行うことができますが、状況に応じて、通常ははるかに優れた処理方法があります。

setInterval(function(){
    $("p").not(".alreadyloaded").trigger("load").addClass("alreadyloaded");
},100);
$(document).on('load','p',function(){
    console.log("hello"); 
});

可能な限り、この方法を使用することはお勧めしません。

これを処理するより良い方法は、p 要素を追加するイベントのコールバックを使用するか ( または の成功など)、.load()または$.ajax次のような委任されたイベントをバインドすることです。$(document).on('click','p',function(){ alert('hello'); });

于 2012-07-27T19:41:49.107 に答える
1

p、およびその他の要素には-eventdivがありません。これは、画像、ウィンドウ、フレーム、および iframe でのみ使用できます。load

于 2012-07-27T19:42:18.523 に答える
1

デモ

次を使用して、いつでも存在を確認できますlength

var par = $('p.paragraph'); // make it special with some ID or class


if(par.length){         // If your elements exists....
   alert(" I'm 'LOADED!' ;) ");
}
于 2012-07-27T19:44:24.357 に答える