我有我能写的最简单的 .on 函数。它开始是试图在加载时验证表单,然后经过几分钟的挫折,我尝试了以下操作:
$('p').on('load',function(){
console.log("hello");
});
这甚至行不通。我很困惑。我在内外都试过了$(document).ready()
,都不管用,我还检查了控制台,我的 JS 没有错误。
是什么原因造成的,这让我很生气
我有我能写的最简单的 .on 函数。它开始是试图在加载时验证表单,然后经过几分钟的挫折,我尝试了以下操作:
$('p').on('load',function(){
console.log("hello");
});
这甚至行不通。我很困惑。我在内外都试过了$(document).ready()
,都不管用,我还检查了控制台,我的 JS 没有错误。
是什么原因造成的,这让我很生气
jQuery 没有办法在特定元素第一次可用时触发事件。您可以使用 setInterval 来执行此操作,但通常有更好的方法来处理它,具体取决于具体情况。
setInterval(function(){
$("p").not(".alreadyloaded").trigger("load").addClass("alreadyloaded");
},100);
$(document).on('load','p',function(){
console.log("hello");
});
如果可能的话,我不建议使用这种方法。
更好的处理方法是使用添加 p 元素的事件的回调(例如 or 的成功.load()
)$.ajax
或绑定委托事件,例如$(document).on('click','p',function(){ alert('hello'); });
p
s、div
s 和其他元素没有load
-event - 这仅适用于图像、窗口、框架和 iframe。
您始终可以使用以下命令检查是否存在length
:
var par = $('p.paragraph'); // make it special with some ID or class
if(par.length){ // If your elements exists....
alert(" I'm 'LOADED!' ;) ");
}