【发布时间】:2012-07-27 19:37:08
【问题描述】:
我有我能写的最简单的 .on 函数。一开始是尝试在加载时验证表单,然后经过几分钟的挫折后,我尝试了以下操作:
$('p').on('load',function(){
console.log("hello");
});
这甚至行不通。我很困惑。我在$(document).ready() 内外都试过了,都不管用,我还检查了控制台,我的 JS 没有错误。
是什么原因造成的,这让我很生气
【问题讨论】:
-
你在检查什么负载?
p元素不会自然触发加载事件,因为它们不加载任何内容。 -
什么是更好的活动?
-
我正在尝试检查 div 何时出现在动态注入的屏幕上
-
click有效,因为它是由用户单击元素触发的事件。理论上,点击应该对所有占用屏幕空间的元素起作用(即使它们对用户不可见)。链接不触发load事件的相同原则适用,因此您不能调用$("a").on("load", function() {});。它只是浏览器的工作方式。如果他们将来确实开始支持load事件(比如在 Chrome 或 Firefox 的下一版本中),请不要指望它至少在 IE 14 之前得到支持! -
"所以要点是我应该使用 .length 属性来检查,还是使用回调?" - 其中任何一个都应该这样做,但我认为 .length 属性在开销方面应该更好。这取决于 - 如果您将整个页面(例如 clientlist.aspx)加载到 div 中,请使用回调函数,因为您不确切知道其中会出现什么。
标签: javascript jquery html events load