JQuery IE bind this

2020-07-14 06:06发布

问题:

In IE I am getting this error in the console using JQuery:

SCRIPT438: Object doesn't support property or method 'bind' default.js, line 33 character 3

$.get(URL + 'dashboard/photoList/'+categoryID, (function(o) {
        // code here
}).bind(this));

Is there a work around to binding 'this'? I'm used to this from prototype.

回答1:

bind is only available in browsers supporting ECMAScript 5. Unlike (apparently) Prototype.js, jQuery does not extend built-in objects.

jQuery offers $.proxy [docs]:

$.get(URL + 'dashboard/photoList/'+categoryID, $.proxy(function(o) {
        // code here
},this));