Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/01/2011, 11:06
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 4 meses
Puntos: 845
Respuesta: Reemplazar texto por input text

Deberias tener en cuenta lo que estas haciendo Carxl, estas reemplazando el elemento osea lo estas quitando del DOM, sobre que va a haber un mouseout si el elemento ya no esta en el DOM?, la forma mas simple seria que crearas un wrapper para el elemento, algo asi:

Código Javascript:
Ver original
  1. $('.editaImagen').hover(
  2.    function() {
  3.       var el = $(this).children('.wrapper');                                               
  4.       el.replaceWith("<input type='text' value='" + el.text() + "' />");                                               
  5.    },
  6.    function() {
  7.       var el = $(this).children('input');
  8.       el.replaceWith("<div class='wrapper'>" + el.val() + "</div>");                                               
  9.    }
  10. );

y el html deberia ser algo asi:

Código HTML:
Ver original
  1. <ul>
  2.    <li class="editaImagen">
  3.       <div class="wrapper">Lorem ipsum dolor sit amet</div>
  4.    </li>
  5.    <li class="editaImagen">
  6.       <div class="wrapper"> Ut enim ad minim veniam</div>
  7.    </li>
  8. <ul>

Saludos.

PD: si queres hacer las celdas o algo parecido editable, no seria mejor en el evento click ?.