Возможно ли использовать javascript call method
(как описано в [документации mdn]) , чтобы передать аргумент this
?Как использовать метод вызова javascript в jQuery?
Имея, например, этот код:
console.log(this);
$('#image_id').load(function() {
console.log(this);
});
Я хочу, чтобы второй this
(один включен в load function
) относится к тому же, как и первый.
Я попытался с
console.log(this);
$('#image_id').load.call(this, function() {
console.log(this);
});
Но это не работает.
Благодарим вас за любое предложение.
Спасибо, что они оба отлично работают! Так вы думаете, что второй будет работать даже со старыми браузерами? Просто примечание: во втором вы забыли точку после загрузки Это может быть $ ('# image_id'). Load ($. Proxy (function() { –
Ваше второе решение отлично работает во всех случаях, которые я тестировал, даже со старыми браузерами, планшетами и тяжелыми кодами. Не то же самое для 'bind'. Возможно, потому, что это слишком недавно. –
@LucaBorrione: Да, собственный' .bind' не будет работать в старых браузерах, но jQuery ' $ .proxy' предназначен для работы в тех, кто старше. Спасибо за то, что вы нападаете на бродячие '.'. Я удалю его. :) –