2014-04-04 65 views
1

我在我的系統中使用safari 5.1.1,我的應用程序也在safari 5.1.1中運行。在我的應用程序中,我使用綁定方法使用窗口大小調整事件。它的工作正常所有其他瀏覽器,如ie,鉻,火狐,但它不適用於Safari 5.1.1和更低。每當它運行時,它將通過一個例外如'"undefined" is not a function({....}.bind(this);...'。 我已經搜索了更多關於這個問題,但我沒有找到任何解決方案來解決這個問題。綁定在safari中不工作5.1.1

$(window).resize(function() { 
    alert("resized"); 
    ...My code goes 'this' here.... 
}.bind(this)); 

有什麼辦法可以解決這個問題嗎?

感謝, KARTHIK

+0

請發佈完整代碼Jerry Kartik :-) –

+0

@Pilot我更新了我的帖子,並帶有示例代碼。 – karthik

+0

你確定你得到這個錯誤調整大小嗎?我沒有看到那裏的任何問題 –

回答

1

錯誤很可能來自.bind(this)。正如您在MDN docs about Function.prototype.bind中看到的,safari支持在> = 5.1.4版本中進行綁定。

您可以改爲使用jQuery.proxy

var resizeHandler = function() { alert('resized'); }; 
$(window).resize($.proxy(resizeHandler, this)); 

沒有測試這個例子,但它應該看起來像這樣。