2014-09-25 60 views
0

我旁边的javascript代码:绑定事件的宽度变化,而不是高度(作为resize做两个);

function() { 
     $(this).on("resize", $special.handler); 
    } 

它的工作原理确定,但我不需要这触发高度改变,我只需要在widht变革而努力吧。

所以我试图在调整大小检测内添加if语句,并且只有在宽度改变时才绑定$special.handler

找不到一个简单的方法来做到这一点,所以你会如此善良,帮助我找到我做错了什么?

对于我已经结束了与下一个代码的那一刻

function() { 
     var widthBefore = $(this).width(); 
     $(this).on("resize", function() { 
      if ($(this).width() != widthBefore) { 
       $(this).on(WIDTH CHANGE ONLY, $special.handler); 
       widthBefore = $(this).width(); 
      } 
     }); 
    } 
+1

你有什么基本上是唯一的方法来做到这一点,只有宽度没有特殊事件。 – adeneo 2014-09-25 17:55:17

+2

只有宽度改变没有事件。为什么在修改元素的宽度时不运行该函数? – BenM 2014-09-25 17:55:27

+1

另外,你确定这不是一个XY问题? – BenM 2014-09-25 17:55:57

回答

0

没有宽度变化的事件,但如果背景下保持了这个可以用 -

function() { 
     var widthBefore = $(this).width(); 
     $(this).on("resize", function() { 
      if ($(this).width() != widthBefore) { 
       $.proxy($special.handler,this); 
       widthBefore = $(this).width(); 
      } 
     }); 
    } 
相关问题