jQuery - não é possível ligar eventos a elementos dinâmicos?

Eu vim para manter um pedaço de javascript que baixa alguns dados JSON do servidor, constrói uma nova linha de tabela (como$('<tr></tr')) e insere no documento.

oa nó é, em um ponto criado assim:

var a = $('<a class="foo" href="#"></a>');

e depois, um evento é ligado a isto assim:

a.click(function () {
  // yadda yadda

  return false;
});

O único problema é que isso não parece funcionar. Nem a ligação atravéson() ou o depreciadolive(). O manipulador é simplesmente "ignorado", nunca dispara e a página rola para o topo (devido àhref="#"). Ao ligar o evento, o elemento já estáappended para DOM. Qualquer ajuda seria muito apreciada.

Algumas informações contextuais que vêm à mente: o elemento é criado dentro de um loop iterando sobre os dados, mas isso não deve ser um problema, a menos que o javascript tenha algumrealmente coisas estranhas acontecendo com o escopo, maistodo o resto Eu tento com o elemento funciona: eu posso mudar seu conteúdo, estilo, apenas a ligação do evento não funciona. E, claro, a versão jQuery, que é1.8.3.

questionAnswers(6)

yourAnswerToTheQuestion