是否有更优雅的方式使用.events调用.ready?

时间:2010-11-11 08:10:23

标签: javascript jquery

我只想尽可能地干。

$(document).ready(function(){
    var w= $(window).width();
    w-= (w-6) % 266;
    if (w<272) w= 272;
    $('#grid_container').width(w);
});
jQuery.event.add(window, "load", resizeFrame);
jQuery.event.add(window, "resize", resizeFrame);
function resizeFrame() {
    var w= $(window).width();
    w-= (w-6) % 266;
    if (w<272) w= 272;
    $('#grid_container').width(w);
};

2 个答案:

答案 0 :(得分:2)

您可以使用bind功能:

$(window).bind('load resize', resizeFrame);

请注意,您可以为bind指定多个事件,方法是将其分隔为空格,如上所示。

您还可以检查使用事件对象的type属性触发的事件,如下所示:

$(window).bind('load resize', function(e){
  alert(e.type);
});

答案 1 :(得分:0)

我不知道你是否想要这个:

$(window).bind("load",resizeFrame);

$(window).bind("resize",resizeFrame);

编辑:

http://www.jsfiddle.net/t9fuH/

压缩程度越高的选项就是:

$(window).bind("load resize", resizeFrame);

function resizeFrame() {
    var w= $(window).width();
    w-=((w-6) % 266);
    w=w<272?272:w;    
    $('#grid_container').width(w);
};