使用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/