2011-12-06 7 views
10

Tengo un problema con un evento de cambio jquery en una entrada de texto que funciona como se esperaba en Firefox y IE pero no en Chrome. También tengo un evento de teclado en la entrada de texto para manipular la entrada tal como se ingresa, pero cuando la entrada está lista, necesito ejecutar un código adicional. Traté de usar el evento 'desenfoque' y el evento de 'enfoque' como alguien aquí había sugerido como sustituto, pero luego no pude cambiar el enfoque en absoluto, la entrada siguió agarrándolo de alguna manera. Aquí está el código:Cambiar el evento que no está activando el ingreso de texto usando jquery en Chrome

$('.textInput').keyup(function(event) { /* do stuff */ }); 
$('.textInput').change(function(event) { alert('Changed!'); /* do other stuff */ }); 

y el html:

<input type="text" class="textInput" value="" /> 

estoy usando jQuery 1.6.3. Cualquier sugerencia sería muy apreciada. H. caso

+0

[funciona para mí] (http://jsfiddle.net/davidThomas/R8VBY/) en Chromium 14/Ubuntu 11.04. –

+0

¿puedes publicar el error que Chrome te brinda? Si lo hace, inspeccione el elemento (haga clic derecho en la página), le mostrará el error. – Andres

+0

¿Qué otro código js ha cargado en la página que lo haría recuperar el enfoque? Cambie solo los incendios cuando cambie el foco, esa es probablemente la razón. – loganfsmyth

Respuesta

0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('.textInput').keyup(function (event) { 
       var obj = $(this); 
       if ((event.keyCode ? event.keyCode : event.which) === 13) { 
        $('#result').text('Enter has been triggered.'); 
       } 
      }); ; 

      $('.textInput').change(function (event) { 
       var obj = $(this); 
       $('#result').text('Input text has been changed:' + obj.val()); 
      }); ; 
     }); 
    </script> 
</head> 
<body> 
    <span id="result"></span> 
    <br /> 
    Enter some text and press enter: 
    <input type="text" class="textInput" value="" /> 
</body> 
</html> 
+0

el uso debe llamar a $ (documento) .ready (función() {}) ;. – Thulasiram

+0

para demostración en vivo vea este enlace: http://jsfiddle.net/nanoquantumtech/HB33h/ – Thulasiram

11

El cambio no se disparará a menos que el foco de entrada cambia a otros mandos

Cuestiones relacionadas