Ik heb op een pagina een div met een lijst namen. Deze namen hebben de volgende opmaak:


<a href="?var=waarde" class="delete">naam</a>


Bij het oproepen van de pagina load jQuery netjes:

$(document).ready(function()
{
	
	$('a.delete').click(function(e)
	{
	
	// etcetc

	}

}


Dit gaat allemaal prima, totdat ik de div opnieuw populate (ook met jquery, niet van belang verder). De div reload met een aantal nieuwe namen. Deze namen krijgen nu niet meer de behandeling van de document.ready, aangezien het document niet opnieuw is geladen, maar alleen de inhoud van de div.
Is het mogelijk de document.ready te reloaden, of is er een alternatief, of kan ik hier een andere oplossing voor gebruiken?

Als je de namen toevoegt, hang je gelijk de click eraan.
voorbeeldje karl?
Ligt eraan hoe je je div update.
stripped js

$.ajax
type: 'post'
url: 'delete.inc.php'
success: function(a)
$('#divid').html(a)


stripped delete.inc.php

echo '<a href="?var=waarde" class="delete">naam</a>'
<a href="?var=waarde" class="delete">naam</a>
<a href="?var=waarde" class="delete">naam</a>
<a href="?var=waarde" class="delete">naam</a>';
voorbeeldje karl? volgens mij begrijp je mij niet of begrijp ik jou niet.

de info in de div staat wel, die hoeft niet gerefreshed. de info in de div moet alleen wel de toepassing van de document.ready krijgen...
@Gerben, tnx dat was het inderdaad :)

oud (alleen op 1e call)

$('a.delete').click(function(e)


nieuw (werkend)

$('a.delete').live("click", function(e)



@Karl, tnx anyway
Het makkelijkste is om in je ready() een functie aan te roepen:

$(document).ready(delete);

function delete()
{
    
    $('a.delete').click(function(e)
    {
    
    // etcetc

    }

}


En dan na je bewerking die functie opnieuw aan roepen. Dit is veel sneller dan live()..
Ik meen mij te herinneren dat je live niet echt zou moeten gebruiken omdat het nogal intensief is. Hoe het precies zat weet ik jammer genoeg niet meer, het was wat met event bubbling.

Reageren