如何将.live
添加到以下函数中?
$(document).ready(function(){
$.fn.vAlign = function() {
return this.each(function(i){
var ah = $(this).height();
var mh = (368 - ah) / 2;
$(this).css('margin-top', mh);
});
};
$('div.slideshow img').vAlign();
});
我需要添加live
,因为jQuery正在生成div.slideshow img
。除非在脚本执行之前div已经在HTML中,否则该函数似乎不起作用。
答案 0 :(得分:2)
您可以使用livequery
$('div.slideshow img').livequery(function(){ $(this).vAlign(); });
这将使得vAlign()在任何与你的选择相匹配的元素上执行,并且在任何时候都可以执行。
答案 1 :(得分:1)
在这种情况下,我认为.live
,.delegate
或.on
不会对您有所帮助。您可以做的是在ajax响应成功并且图像已注入DOM后,在回调中运行$('div.slideshow img').vAlign();
。