Плагин jQuery tmpl - проблемы с результатами шаблона из динамического контента (ошибка?) - PullRequest
1 голос
/ 11 мая 2011

Я использую шаблоны jQuery (http://api.jquery.com/jquery.tmpl/) для отображения списков на страницах, основанных на удаленном контенте, все это работает хорошо, однако, когда я применяю класс к контенту и имею событие click для динамического класса Содержимое шаблона не соответствует действию, когда жестко закодированное содержимое работает нормально.

Я немного отредактировал базовую демонстрацию, которая поставляется вместе с плагином tmpl, чтобы добавить статический список в качестве подтверждения концепции: http://jsfiddle.net/3eVrR/2/

Щелчок по статической ссылке 'bar' генерирует предупреждение, как я и ожидал. Если щелкнуть любую из кнопок («Мультфильмы» или «Драма»), чтобы создать список, а затем щелкнуть гиперссылку (у нее тот же класс, что и у жестко закодированной ссылки), предупреждение не будет запущено.

Кто-нибудь может увидеть, в чем проблема? Firebug не показывает никаких ошибок, при проверке классы для статического и динамического содержимого одинаковы.

Спасибо

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Как отметил aleksv, традиционные обработчики .click() применяются только к элементам, которые можно выбрать при инициализации обработчика.В этом случае лучше использовать обработчик .live() (или .delegate()):

// This handler will apply to any .getPage element, even if it is created
//  after this handler declaration has been executed.
$('.getPage').live('click', function(){
    alert('clicked element with getPage class');
});
1 голос
/ 11 мая 2011

Я поиграл с вашим кодом, и теперь он работает: http://jsfiddle.net/3eVrR/5/. Вы должны инициализировать события, когда весь контент загружен. Вы инициализировали события, когда не было записей фильма. Затем вы добавили записи фильма, и JS не знал, что они там были.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...