2013-05-21 3 views
0

У меня есть очень простой щелчок обработчик, который делает GET запрос AJAX по щелчку, как так:JQuery обработчиков нажмите не срабатывают внутри модального окна

$('span.switch-option').click(function() { 
    $(this).parents('div.log-in-option').hide(); 
    $(this).parents('div.log-in-option').siblings('div.log-in-option').fadeIn(); 
}); 

Это прекрасно работает в другом месте на сайте. Однако, когда я пытаюсь щелкнуть элемент <span> с классом switch-option внутри модального окна, событие не срабатывает. Тем не менее, ввод содержимого функции click-handler в консоли и их запуск выполняют желаемое поведение.

Почему обработчик клика не запускается в этом модальном окне? Я использую популярный плагин SimpleModal http://www.ericmmartin.com/projects/simplemodal/ и jQuery 1.9.1.

Живой пример: http://ec2-107-22-8-70.compute-1.amazonaws.com/thread/19. Если вы нажмете 50,000 reps или репутацию любого пользователя, попробуйте нажать большую синюю ссылку в диалоговом окне, обработчик клика не срабатывает. Такое поведение происходит и с другими обработчиками кликов в разных модальных окнах.

ответ

1

Когда ваш скрипт (main.js) работают элементы 'li.log-in, a.log-in' не существует в йоте, они загружаются динамически, когда создаются всплывающее окно, таким образом, JQuery не в состоянии связать обработчик событий

распространения Try события

$(document).on('click', 'li.log-in, a.log-in', function() { 
     $.get('/login/', function(data) { 
      //make a modal window with the html 
      $.modal(data); 
     }); 
     return false; 
    }); 
+0

Попытка этого сейчас. Я также обновил JS-код в интимном вопросе, потому что я c/p'd неправильно обработчик кликов, но он вообще не меняет вопрос. – wnajar

+0

Редактировать: просто сделал это, работает красиво. Вы волшебник, и объяснение имеет смысл. Теперь я чувствую себя манекеном. – wnajar

+1

@wnajar см. Обновленный ответ, и вы можете искать в Интернете для динамических элементов и обработки событий с помощью jquery, есть много вопросов, обрабатывающих то же самое в самой SO, а другие ресурсы доступны в Интернете –

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

  • Нет связанных вопросов^_^