jQuery的on()是否支持这种livequeryfunction?

使用livequery,我可以执行以下操作:

$(".focusable").livequery(function() { $(this).focus(); }); 

我知道jQuery支持委托等的自定义函数,但我没有看到任何让我认为jQuery可以执行livequery在这个例子中正在做的事情。

 $("body").on("???", ".focusable", function() { $(this).focus(); }); 

我希望这是有道理的。

您可以使用DOMNodeInserted事件:

 $("body").on("DOMNodeInserted", ".focusable", function() { $(this).focus(); }); 

IE8及更早版本不支持此function: https : //developer.mozilla.org/en/DOM/DOM_event_reference

目前,标准jQuery不支持此function。 通常,要使用的jQuery事件是load

当load和所有子元素已完全加载时,load事件将发送到元素。 此事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象。

但它不能与live / delegate一起使用,最有可能:

注意:.live()和.delegate()方法不能用于检测iframe的load事件。 load事件未正确冒泡父文档,并且不会由Firefox,IE9或Chrome设置event.target,这是执行事件委派所必需的。

所以在修复之前,你必须坚持使用livequery ,他们显然采用了一种解决方法来实现这一点。

有关详情,请参阅此处:
http://api.jquery.com/load-event/