2014-09-25 39 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(); 
      } 
     }); 
    } 
相關問題