我有最简单的.on功能,我可以写。它开始时试图在加载时验证表单,然后经过几分钟的挫折后我尝试了以下内容:
$('p').on('load',function(){
console.log("hello");
});
这甚至不起作用。我很困惑。我已经在$(document).ready()
内外尝试了它,既没有工作,也检查了控制台,我的JS没有错误。
造成这种情况的原因,让我如此疯狂
答案 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!' ;) ");
}