Проблема делегата jquery с шаблонами jquery - PullRequest
1 голос
/ 14 июля 2010

Я использовал код шаблонов jQuery (jquery.tmpl.js на github), и он работал очень хорошо для меня. Тем не менее, я пытаюсь прикрепить события к контенту с помощью делегата, и это не работает. Вот моя упрощенная структура HTML после вставки шаблонов:

<!-- static in the html file -->
<div id="container">
  <!-- this div is inserted multiple times by the jquery template code -->
  <div class="rule">
    <button>Save</button>
  </div>
</div>

В моем Javascript у меня есть эта настройка

$(".rule").live("click", function() {console.log("live click");});

$("#container").delegate("click", ".rule button", function() {
  console.log("delegate click");
});

Когда страница запускается, я могу нажимать на кнопки, вставленные шаблоном, но я получаю только сообщения «живого щелчка» в журнале консоли Firebug. События делегата никогда не запускаются. Я пробовал несколько разных целей / контекста для делегата, хотя я думаю, что то, что у меня есть выше, правильно, но я не могу заставить его работать.

У кого-нибудь есть какие-либо предложения, указатели или вещи, которые я мог бы попробовать?

Спасибо! Дуг

1 Ответ

3 голосов
/ 14 июля 2010

правильный синтаксис для delegate() равен delegate( selector, eventType, handler )

использование

$("#container").delegate(".rule button", "click", function() {console.log("delegate click");});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...