我在我的系统中使用safari 5.1.1,我的应用程序也在safari 5.1.1中运行。在我的应用程序中,我使用带有bind方法的window resize事件。它的工作正常,所有其他浏览器,如Chrome,Firefox,但它不适用于safari 5.1.1及更少。每当它运行时它将通过例外'"undefined" is not a function({....}.bind(this);...'
。
我已经搜索了更多关于这个问题的信息,但我没有找到任何解决方案来恢复这个问题。
$(window).resize(function () {
alert("resized");
...My code goes 'this' here....
}.bind(this));
有什么方法可以解决这个问题吗?
谢谢, 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));
没有测试这个例子,但它应该是这样的。