2013-06-30 3 views
0

У меня есть страница, которая содержит следующие компоненты:JQuery больше не работает после повторного rendring любой RichFaces компоненты

  • 1 Кнопку
  • 1 выпадающего список с помощью JQuery
  • 1 кнопка которого на событиях мыши изменяет значение текстового поля с помощью JQuery
  • 2 Других кнопок, показанное на парении

Если изменить значение раскрывающегося списка или нажмите ному tton, то страница повторно отображается ajax. После этого jQuery больше не работает. Если я обновляю страницу, то jQuery отлично работает.

Как это вызвано и как я могу его решить?

+0

пытаются разместить код JQuery (который я догадывался называется на странице готового или что-то) в функцию и вызвать эту функцию 'oncomplete' вашего Бутон (если вы используете' a4j: commandButton') – Daniel

ответ

0

Когда на странице появляются новые элементы, у них нет привязок к событиям (например, $('.menu').click ...), которые были у вас ранее. После повторной обработки страницы вам нужно сделать это снова. Из документов:

Обработчики событий привязаны только к выбранным в данный момент элементам; они должны существовать на странице в момент, когда ваш код выполняет вызов .on(). Чтобы убедиться, что элементы присутствуют и могут быть выбраны, выполните привязку событий внутри обработчика документа для элементов, которые находятся в разметке HTML на странице. Если на страницу вводится новый HTML-код, выберите элементы и присоедините обработчики событий после того, как новый HTML будет помещен на страницу.

http://api.jquery.com/on/