.on加载不工作

时间:2012-07-27 19:37:08

标签: javascript jquery html events load

我有最简单的.on功能,我可以写。它开始时试图在加载时验证表单,然后经过几分钟的挫折后我尝试了以下内容:

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

这甚至不起作用。我很困惑。我已经在$(document).ready()内外尝试了它,既没有工作,也检查了控制台,我的JS没有错误。

造成这种情况的原因,让我如此疯狂

3 个答案:

答案 0 :(得分: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'); });

答案 1 :(得分:1)

p s,div和其他元素没有load - 事件 - 仅适用于图片,窗口,框架和iframe。

答案 2 :(得分:1)

<强> demo

您始终可以使用length检查是否存在:

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


if(par.length){         // If your elements exists....
   alert(" I'm 'LOADED!' ;) ");
}