mannaro
@mannaro
Умею профессионально гуглить

Есть ли аналог .bind (MooTools) в JQuery?

Здравствуйте! Есть ли аналог .bind (от MooTools) в JQuery? Или его придется писать ручками?

Решение: Написать расширение прототипа Function:
if (!Function.prototype.bind) {
  Function.prototype.bind = function (oThis) {
    if (typeof this !== "function") {
      // closest thing possible to the ECMAScript 5 internal IsCallable function
      throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
    }
 
    var aArgs = Array.prototype.slice.call(arguments, 1), 
        fToBind = this, 
        fNOP = function () {},
        fBound = function () {
          return fToBind.apply(this instanceof fNOP && oThis
                                 ? this
                                 : oThis,
                               aArgs.concat(Array.prototype.slice.call(arguments)));
        };
 
    fNOP.prototype = this.prototype;
    fBound.prototype = new fNOP();
 
    return fBound;
  };
}
  • Вопрос задан
  • 3423 просмотра
Решения вопроса 1
lacki
@lacki
Посмотрите на Function.prototype.bind Это стандарт, есть фолбек для бразуеров без поддержки .bind и трафика минимально.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@gelas
Самое близкое, хоть и не аналог, видимо jQuery.proxy
Ответ написан
@jQueryScripter
В jQuery — нет, есть в другой полезной библиотеке Underscore — _.bind
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
BeetSoft Омск
от 50 000 до 100 000 руб.
Kernel Web Новосибирск
от 80 000 руб.