Como append um evento jQuery a uma exibição de grade que não está visível no documento pronto?

Eu estou tentando ligar em um link em um gridview com jquery mas a grade está em um painel de atualização e não visível até que o usuário executa um relatório. Se eu adicionar a class “.myLink” a qualquer outra tag “a”, ela funcionará bem, mas como a gridview não está lá em document.ready, não tenho certeza de onde chamar isso de

$(document).ready(function(){ $('a .myLink').click(function(){ var link = $(this).attr('href'); alert(link); return false; }); }); 

Você pode usar .live() para manipular events no elemento criado a qualquer momento, assim:

 $(document).ready(function(){ $('a .myLink').live('click', function(){ var link = $(this).attr('href'); alert(link); return false; }); }); 

Se você tem o container em que ele aparecerá, e ele não é substituído, você pode usar .delegate() para ser mais eficiente, assim:

 $(document).ready(function(){ $('#containerID').delegate('a .myLink', 'click', function(){ var link = $(this).attr('href'); alert(link); return false; }); }); 

Dê uma olhada no jQuery.live ().

http://api.jquery.com/live/

 $(document).ready(function(){ $('a .myLink').live('click', function(){ var link = $(this).attr('href'); alert(link); return false; }); }); 

O método .live() é capaz de afetar elementos que ainda não foram adicionados ao DOM através do uso de delegação de events.

Referência

    Intereting Posts