Как заменить устаревший jquery $.proxyJquery

Программирование на jquery
Ответить
Anonymous
 Как заменить устаревший jquery $.proxy

Сообщение Anonymous »

У меня возникли проблемы с перезаписью .proxy в jquery на Function.prototype.bind, поскольку .bind не устанавливает guid для экземпляров связанной функции, поэтому прокси-обработчики событий можно удалить без сохранения экземпляра прокси-функции.
Если я заменю .proxy на .bind, большинство сценариев больше не будут работать из-за отсутствия установленного guid.
Как их заменить избавиться от устаревших сообщений и сохранить правильную работу скриптов?
Ниже приведены некоторые строки кода различных JS-скриптов, которые больше не работают, если их заменить, например, на this.start.bind(this);.
Поскольку .proxy делает что-то существенное, мне интересно, почему он устарел, и, более того, мне интересно, почему в jQuery 4.0 устаревшее сообщение появляется таким, каким оно было устарел с версии jQuery 3.3 в 2018 году.
api.$element.on(this.eventType('start'), $.proxy(this.start, this));
api.$element.find('a').on(this.eventType('start'), function(e) {
this.timeStamp = e.timeStamp;
}).on('click', function(e) {
if (e.timeStamp - this.timeStamp > 400) {
e.preventDefault(); // prevent Click
}
});

$(document)
.on(this.eventType('move'), $.proxy(this.move, this))
.on(this.eventType('end'), $.proxy(this.end, this));

singleTapTimeout = setTimeout($.proxy(function() {
doubleTapStartTime=null;
//Trigger the event
$element.trigger('tap', [event.target]);
//Fire the callback
if(options.tap) {
ret = options.tap.call($element, event, event.target);
}
}, this), options.doubleTapThreshold );


Подробнее здесь: https://stackoverflow.com/questions/798 ... uery-proxy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»