2015-05-28 45 views
-1

我讀the response here,但據我所見,我的代碼與解決方案匹配。Javascript函數不觸發addEventListener調整大小

responsedemoscripts在頁面加載時運行。 balancecolumns的第一個實例運行,但調整大小根本不會觸發餘額列。

function responsedemoscripts() { 
    window.addEventListener('resize', balancecolumns); 
    balancecolumns(); 
} 


function balancecolumns() { 
    var longestColumn = 0; 
    $('.contentitem').each(function() { 
     longestColumn = Math.max(longestColumn, $(this).innerHeight()); 
     }); 
    $('.contentitem').height(longestColumn); 
} 

回答

0

你在做什麼錯誤是把eventlistener放在一個函數中。如果你不叫它,這個函數永遠不會觸發。順便說一句,如果你想打電話負載balancecolumns你可以做這樣的事情:window.onload=balancecolumns;後來window.addEventListener('resize', balancecolumns, false);或與您的代碼段看到這個小提琴:http://jsfiddle.net/n8ekpqcp/

取而代之的是:

function responsedemoscripts() { 
    window.addEventListener('resize', balancecolumns); 
    balancecolumns(); 
} 

這樣做:

window.onload=balancecolumns; 
    window.addEventListener('resize', balancecolumns, false); 
+0

「如果你不叫它,這個函數永遠不會觸發。」我不明白這一點。 responsedemoscripts不會在加載時調用,所以爲什麼不在responsedemoscripts運行時添加處理程序? – SaintCad

+0

那麼你的代碼片段並沒有顯示你正在調用'responsedemoscripts'。但是,如果你調用'responsedemoscripts()',你的代碼也可以正常工作。看到這個小提琴:http://jsfiddle.net/n8ekpqcp/ – Michelangelo

相關問題