Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2013, 23:05
Avatar de Celcius
Celcius
 
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 10 meses
Puntos: 5
Pregunta ¿Usar On o Live en jQuery 1.8.3?

Buenas,
He leído por aquí y por aquí que estos métodos son usados adecuadamente en diferentes versiones de jQuery. Bueno, al grano en forma ordenada:

1. Tengo un objeto que creo dinámicamente.
2. Tengo la versión 1.8.3.
3. No puedo "capturar" con "on" el evento "change" del formulario creado dinámicamente.
4. Si puedo "capturar" con "live" el mismo evento "change".

A qué se debe, ya que es incongruente?

El HTML:
Código PHP:
<div id="tipo-user">
                  <
div class="control-group">
                    <
label class="control-label" for="tipo">Tipo</label>
                    <
div class="controls">
                        <
select name="tipo" id="tipo"></select>
                    </
div>
                </
div>
                <
div class="control-group">
                    <
label class="control-label" for="usuario">Usuario</label>
                    <
div class="controls">
                        <
select name="usuario" id="usuario"></select>
                    </
div>
                </
div>
          </
div
El Javascript:
Código PHP:
$(document).on("ready", function(){
        $(
"#manual").on("click", function(){
            if($(
this).is(":checked")){
                $(
"#tipo-user").html('<div class="control-group"><label class="control-label" for="usuario">Usuario</label><div class="controls"><input type="text" name="usuario" id="usuario" placeholder="Usuario" required></div></div>');
            }else{
                $(
"#tipo-user").html('<div class="control-group"><label class="control-label" for="tipo">Tipo</label><div class="controls"><select name="tipo" id="tipo"></select></div></div><div class="control-group"><label class="control-label" for="usuario">Usuario</label><div class="controls"><select name="usuario" id="usuario"></select></div></div>');
                
cargarTipo();
            }
        });
        $(
"#tipo").live("change", function(){
            var 
id_tipo = $(this).val();
            
cargarUsuario(id_tipo);
            
alert("Hola tipo");
        })
        
cargarTipo = function(){
            $(
"#tipo").load("sistema/inc/cargartipo.inc.php");
            
alert("Hola mundo tipo")
        }
        
cargarUsuario = function(id_tipo){
            if(
id_tipo!="#"){
                $(
"#usuario").load("sistema/inc/cargarusuarios.inc.php?id_tipo="+id_tipo);
            }else{
                $(
"#usuario").html("");
            }
        }
        
        
cargarTipo();
    }); 
A ver si me ayudan a despejar esa duda... al final funciona lo que yo quiero pero es incongruente con lo encontrado por ahí.. .gracias.
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus