xPomaHx
@xPomaHx
1vs9

Как написать полифил к bind без использования bind, apply, call?

Как написать полифил к bind без использования bind, apply, call?
  • Вопрос задан
  • 3233 просмотра
Решения вопроса 2
Xuxicheta
@Xuxicheta
инженер
Можно вот так https://jsfiddle.net/melchiorio/r7x3g1k2/
Хотя это не совсем полифилл.
Ответ написан
@StockholmSyndrome
Function.prototype.bind = function(context, ...args) {
  let object = {...context};
  let symbol = Symbol('target');
  object[symbol] = this;
  return function(...rest) {
    return object[symbol](...args, ...rest);
  };
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@4tlen
function bind (cssSelectors, events, callback) {
    events = events.split(',');
    let elements = document.querySelectorAll(cssSelectors);
    elements.forEach(element => {
      events.forEach(event => {
        element.addEventListener(event, callback)
      })
    })
}

bind('li > a, p a, div button', 'click, keypress', function (e) {
   e.preventDefault();
   alert(this.innerText);
});


Это чтоли?
Ответ написан
на MDN используют call
https://developer.mozilla.org/uk/docs/Web/JavaScri...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы