jQuery的on()是否支持这种livequery功能?



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

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

我知道jQuery支持委托等的自定义函数,但我没有看到任何东西让我认为jQuery可以做本例中livequery所做的事情。

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

我希望这是有道理的。

您可以使用DOMNodeInserted事件:

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

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

目前不支持vie标准jQuery。通常要使用的jQuery事件是load:

当某个元素和所有子元素具有已完全加载。此事件可以发送到任何元素与URL关联:图像、脚本、帧、iframe和窗口对象。

但是,它不能与live/delegate一起使用,很可能与on:一起使用

注意:.live()和.delete()方法不能用于检测iframe的load事件。加载事件未正确弹出父文档和event.target不是由Firefox、IE9或Chrome,它是进行事件委派所必需的。

因此,在解决这一问题之前,您必须坚持使用livequery,他们显然采用了一种变通方法来实现这一点。

有关更多信息,请参阅此处:
http://api.jquery.com/load-event/

最新更新