2014-04-17 25 views
5

Tôi không biết tại sao điều này không làm việc:javascript sự kiện thay đổi kích thước không làm việc

window.addEventListener('load', setSize(), false); 
window.addEventListener('resize', setSize(), false); 

function setSize(){ 
    width = window.innerWidth; 
    console.log(width); 
} 

Nó ghi lại đúng chiều rộng sau khi tải, nhưng nó không làm điều đó khi tôi thay đổi kích thước.

Trả lời

18
window.addEventListener('load', setSize(), false); 
window.addEventListener('resize', setSize(), false); 

nên là:

window.addEventListener('load', setSize, false); 
window.addEventListener('resize', setSize, false); 

Thay vì thực hiện các chức năng, chúng tôi cần phải vượt qua một tham chiếu đến nó.

+2

@OP - lưu ý rằng sự khác biệt là 'setSize()' sẽ chuyển kết quả là một đối số và 'setSize' sẽ chuyển chính hàm đó làm đối số. Đó là sự khác biệt. –

Các vấn đề liên quan