Tengo dos divs, uno que contiene algunas cosas y el otro con todas las cosas posibles. Al hacer clic en uno de los divs se transferirán ítems al otro div. El código que se me ocurrió es:jQuery: ¿Hay alguna manera de "actualizar" los manejadores de eventos?
$("#holder > *").each(function() {
$(this).click(function(e) {
$(this).remove();
$("#bucket").append(this);
});
});
$("#bucket > *").each(function() {
$(this).click(function(e) {
$(this).remove();
$("#holder").append(this);
});
});
Esta funciona perfectamente, excepto que los controladores de eventos deben ser refrescado una vez añado o elimino elementos. Lo que quiero decir es que, si primero hago clic en un elemento, se agrega al otro div, pero si vuelvo a hacer clic en este elemento, no pasa nada. Puedo hacerlo manualmente, pero ¿hay una mejor manera de lograr esto?
@John: Gracias por la respuesta. No estoy seguro de si me falta pero cuando reemplazo mi código con esto, no pasa nada. Estoy usando jQuery-1.4.2.¿Me estoy perdiendo algo? Quiero decir, incluso los eventos iniciales no funcionan. – Legend
Esto no funcionará. 'jQuery.fn.live' necesita un selector para trabajar ... no puede funcionar con' $ (this) '... – James
Supongo que sí. Sabía que "esto" está estropeando las cosas. – Legend