2014-03-24 55 views
0

指的JavaScript window resize event爲什麼重寫window.onresize壞習慣?

他們提到他們的解決辦法是添加一個偵聽與「調整」事件窗戶說覆蓋window.resize是不好的做法...

我的問題是爲什麼呢?

+1

添加一個監聽器總是首選,所以幾個處理程序可以將自己附加到同一事件。 – Brad

+1

「你重寫了事件,所以你不能將多個動作附加到一個事件上,addEventListener/attachEvent組合是讓你的JavaScript對任何可能在頁面上執行的其他腳本都友好的最佳方式。 「 – RyanS

+0

上面的評論是正確的。如果您附加了另一個腳本,稍後將覆蓋window.resize,它將覆蓋您的覆蓋。 –

回答

1

這同樣適用於所有事件:使用.onsomething = function() {...}是一個賦值,並且將覆蓋任何現有的事件處理程序,這會處理其他代碼段。另一方面,在另一方面,將添加新的事件處理程序而不影響現有的事件處理程序。

有一點需要注意的是,我已經看到很多情況下,由於錯誤的代碼,相同的事件處理程序重複添加,而使用.onsomething = ...可以避免該問題。

相關問題