2011-10-28 2 views
0

J'ai le problème bizarre suivant avec le "chargement gif" que je veux afficher dans ma barre de recherche lorsque l'utilisateur frappe entrer. Le code fonctionne sur mozilla et c'est à dire 7 sur le localhost mais seulement sur mozilla sur mon cpanel ... Avez-vous la moindre idée? Désolé si cela semble évident :) voici le code, le chemin est dynamique mais bien sûr correct:jQuery ie texte d'entrée problème

$('#searchField').focus(function(){ 
     $(this).keypress(function(event) { 
      if (event.which == 13) { 
       $(this).css('background-image', 'url("/dvt/public/images/ajaxLoader.gif")'); 
      } 
     }); 
    }); 

merci beaucoup

+0

Essayez de précharger l'image. – epascarello

+0

essayez d'utiliser 'event.keyCode' au lieu de' event.which' – gustavotkg

Répondre

1

Mettre cela pour obtenir votre événement:

if (!event) 
    var event = window.event; 
var code = event.which || event.keyCode; 

C'est différent dans IE et firefox

+2

Ceci utilise jQuery qui normalise l'événement et le passe dans les gestionnaires comme premier paramètre. Il normalise également la propriété d'événement qui contient les informations sur la touche qui a été enfoncée. – JAAulde

+0

merci mais je ne sais pas si c'est vraiment l'événement comme quand j'appuie sur entrer, c'est à dire, l'image qui doit être remplacée par l'ajaxLoader disparaît juste et le chargeur n'apparait pas ... –

1

En ce qui concerne votre image, il me semble que l'URL de l'image serait /images/ajaxLoader.gif comme /dvt/public ressemble à un chemin racine doc. Avec l'image sur votre serveur, quelle URL mettez-vous dans le navigateur pour l'afficher? En outre, vous pouvez extraire les doubles guillemets du url() dans le CSS.

Pour éviter une collision avec l'espace de noms global, puis utilisez e.which, par l'jQueryfn.keypress docs l'événement et keycode, changer le nom de votre paramètre d'événement (essayez e pour commencer).

+1

Je pense que vous devriez alors utiliser 'e.which'. – pimvdb

+0

bonne capture - copie collé et oublié de modifier. :) – JAAulde

+0

Merci à tous pour les astuces, le fait est que c'est une application zend donc j'utilisais une vue auxiliaire pour le chemin racine comme echo $ this-> baseUrl(). J'ai essayé plusieurs chemins relatifs (sans guillemets doubles) tels que ../images/ajaxLoader.gif et /images/ajaLoader.gif. Le seul qui fonctionne dans IE sur le serveur est le chemin complet: http://xxxx.org/dvt/public/images/ajaxLoader.gif –