¿Es esto lo que estás intentando hacer? Tenga en cuenta que estoy colocando el $.on()
en el padre, pero seleccionando el .button
para la acción.
.on (eventos [, selector] [, datos], controlador (eventObject))
selector Una cadena de selección para filtrar los descendientes de los elementos seleccionados que desencadenan el evento. Si el selector es nulo u omitido, el evento siempre se activa cuando llega al elemento seleccionado.
http://api.jquery.com/on/
<div id="stuff">
<button class="button">Click me!</button>
<p>Stuff</p>
</div>
var $stuff = $('#stuff'),
ajaxContent = $stuff.html();
$stuff.on('click', '.button', function(){
$.get('/echo/html/', function(){
$stuff.empty();
console.log($stuff.html());
alert($stuff.html());
$stuff.html(ajaxContent);
console.log($stuff.html());
});
});
http://jsfiddle.net/62uSU/1
Otra demostración:
var $stuff = $('#stuff'),
ajaxContent = $stuff.html(),
$ajaxContent,
colors = ['blue','green','red'],
color = 0;
$stuff.on('click', '.button', function(){
$.get('/echo/html/', function(){
color++;
if (color == colors.length) color = 0;
console.log($stuff.html());
alert($stuff.html());
$ajaxContent = $(ajaxContent);
$stuff.append($ajaxContent).css('color', colors[color]);
console.log($stuff.html());
});
});
http://jsfiddle.net/62uSU/2/