Как передать параметры в событийную внешнюю функцию jquery?
Нужно, чтобы при скроле каждый раз прогонялся код с параметрами.
Так не работает:
function my_scroll(a,b){
console.log(a + b);
};
$(window).scroll(my_scroll(1,2));
Так тоже:
function my_scroll(a,b){
console.log(a + b);
};
$(window).scroll(my_scroll,1,2);
Ответы (2 шт):
Автор решения: HackerU
→ Ссылка
Вам необходимо передать функцию, а у вас происходит вызов.
Для решения этой проблемы проще всего обернуть вызов в еще одну функцию.
пример:
function my_scroll(a,b){
console.log(a + b);
};
$(window).scroll(()=>my_scroll(1,2)); // здесь вызов my_scroll обернут в стрелочную функцию, тем самым она не вызывается, а передается.
Автор решения: HackerU
→ Ссылка
Вот вариант без JQ (на мой взгляд так даже короче):
function my_scroll(a,b){
console.log(a + b);
};
window.addEventListener('scroll', ()=>my_scroll(1,2));