2015-10-27 3 views
2

Итак, у меня есть функция с аргументом, и я хочу вызвать ее внутри функции прокрутки. Я хочу сделать это, чтобы я мог вызвать функцию без необходимости ждать прокрутки, и чтобы я мог повторно использовать функцию с разными аргументами.Могу ли я вызвать предопределенную функцию внутри прокрутки jQuery()?

function myFunction(arg) { 
    // do something 
}; 

Я хочу назвать это с:

$(window).scroll(myFunction(arg)); 

Но это не работает.

До сих пор все, что я видел, включает в себя вызов анонимной функции внутри scroll() как:

$(window).scroll(function() { 
    // do something 
}); 

Однако, как я уже говорил ранее, не позволяет мне повторно использовать свою функцию с различными аргументами, или вызвать мой функции по-другому.

Можно ли вызвать предопределенную функцию изнутри scroll()?

ответ

2

Да, если у вас есть аргументы, вызовите анонимную функцию и вызовите функцию из нее. Таким образом:

$(window).scroll(function() { 
 
    myFunction(myArguments); 
 
});

+0

Отлично! Знаешь, я думал, что устал, но иногда просто требуется, чтобы кто-то еще попробовал снова. –

+0

Да, по какой-то нечетной причине javascript не позволит передавать аргументы обработчикам событий. Это то же самое при вызове из setTimeout или setInterval – PC3TJ

+0

@BrettEast не забудьте выбрать это как правильный ответ. благодаря – PC3TJ

Смежные вопросы