jQuery $(window).resize(); 等效事件监听器,只在指定轴上触发更改?

我正在寻找一个事件监听器,它的作用类似于jQuery的.resize(),但只有当resize的对象(谈论窗口)在x轴或两者中resize时才会触发,但不会仅在y轴上调整。 – 所以基本上它只会监听宽度的resize事件。

您可以在窗口加载变量中保存浏览器的宽度。 例:

var w = 0; $( window ).load( function(){ w = $( window ).width(); }); $( window ).resize( function(){ if( w != $( window ).width() ){ //Do something w = $( window ).width(); delete w; } }); 

这样使用怎么样?

 var w = $(window).width(); $(window).resize(function(){ if ($(window).width()==w) return; w = $(window).width(); // ... your code }); 

您可以使用:

 $(window).resize(function(e) { console.log(e.old.width + " - " + $(this).width()); console.log(e.old.height + " - " + $(this).height()); if(e.old.width==$(this).width() && e.old.height!=$(this).height()){ //only vertical resize done }else { //horizontal or horizontal+ vertical resize done } });​