2012-02-05 25 views
6

Tengo un campo de texto input que se completa con la url de una imagen utilizando una función jQuery. ¿Cómo uso el evento "onChange" del input para ejecutar la función jQuery?jQuery trigger onChange

+0

¿está utilizando una almohadilla (#) en la url? –

+0

sin hash en la url – user1018809

+0

Entonces, ¿cómo se ve la url? Creo que puedo escribir algo para ti, pero estoy confundido en cuanto a lo que quieres exactamente. ¿Quieres mover esto para chatear? –

Respuesta

6

Si actualiza el campo de JavaScript, que después de cambiar el valor justo recurrir a ella change()

$('#myId').val('new_url').change(); 
+0

también intenté esto, pero no actualice si el campo es actualizado por otra secuencia de comandos – user1018809

6

probar esto:

$("#myId").trigger('event_name') 

donde event_name es el evento que has ligado a su función de corrector, como keyUp o cambio

6

Prueba esto -

$('#myId').trigger('change'); 

Colóquelo en cualquier función donde esté cambiando la URL en el cuadro de texto.

0

No me imagino que el problema radica en .change(), quizás en otro lugar de tu código, acabo de probar y el evento se activará si copio y pego, o si escribo texto nuevo (con normal y en pantalla teclado).

La única vez que no pareció activarse fue cuando arrastré un poco de recorte de texto desde el escritorio al cuadro de entrada, pero esto tenía que ver con que estaba resaltado y cuando el recuadro de entrada perdió el foco desencadenó el evento (no puedo pensar en cualquier otro caso de uso)

se puede hacer algo, como a continuación utilizando el evento blur() o focusout() que esencialmente creo que es el caso change

function foo(e) { 
    alert(e.type + ' triggered'); 
} 

$('input').blur(function(e) { 
    $t = $(this); 
    if ($t.data('oVal') != $t.val()) { 
     $t.data('oVal', $t.val()); 
     foo(e); 
    } 
}) 
Cuestiones relacionadas