Мне нужно получить доступ к некоторым переменным из своего рода «слушателя» (для Facebox ) в моем javascript. Как я могу передать переменные между функциями JavaScript и слушателями событий?
Я немного поработал с областью видимости, но кажется, что объявление глобальных переменных немного хакерски, особенно когда вы начинаете учитывать другие элементы управления (т. Е. Разбивку на страницы для моих результатов в модальном режиме), которые не будут сидеть так а также глобальные переменные.
Это раздел, который вызывает у меня проблемы:
function song_clarify ()
{
// this launches a modal window, fills with html.
$.facebox('<div id="search"><div></div></div>');
}
// AJAX function. when called, this loads the required htmls into the modal
function clarify_loader()
{
var loadUrl = "ajax/clarify";
$("#search > div")
.html(ajax_load)
.load(loadUrl, 'search='+source+'&searchTerm='+song);
}
// Waits for the modal to be revealed before calling AJAX function.
// (if function called outside listener, nothing for the AJAX to bind to as modal appears dynamically)
$(document).bind('reveal.facebox', function() {
// Problem is here. Need to be able to do clarify_loader(source,song)
clarify_loader();
})