Почему ссылка href не работает? - PullRequest
0 голосов
/ 13 августа 2011

У меня есть tabContainer с 2 tabPanels. Переход между tabPanels без загрузки страницы, но с Jquery. Во второй вкладке у меня что-то подобное

<asp:CheckBoxList ID="ExstrasCheckBoxList" runat="server"><br> <asp:ListItem><a href="#dialog" name="modal">Additional driver</a></asp:ListItem> <asp:ListItem><a href="#dialog2" name="modal">Baby chair</a></asp:ListItem> <asp:ListItem><a href="#dialog3" name="modal">GPS</a></asp:ListItem><br> </asp:CheckBoxList>

Если я начинаю со второй tabPanel, она работает нормально, но если я запускаю первую tabPanel, она не работает. Зачем? Можно ли использовать без загрузки страницы?

1 Ответ

0 голосов
/ 13 августа 2011

Без вашего JavaScript я делаю снимок в темноте, но я предполагаю, что у вас есть что-то похожее на это:

$('a[name=modal]').bind('click', function() { /*...some handler logic...*/ });

Если это действительно так, то метод $.bindтолько присоединяет слушателей событий к элементам, которые в настоящее время существуют в DOM.Поскольку вы используете AJAX для обновления DOM, к вашим новым ссылкам не прикрепляются прослушиватели событий.

На самом деле это действительно простое исправление, просто замените $.bind на $.live, который будет присоединять прослушиватели событий ко всем соответствующим элементам сейчас и в будущем.

$('a[name=modal]').live('click', function() { /*...some handler logic...*/ });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...