2010-05-31 4 views
0

Je sais que IE7 a des problèmes ...Comment modifier le style d'une zone de saisie dans IE7 lors du focus?

J'ai lu les messages ici et sur Google en me disant que je dois définir le style à la main onfocus() et onblur(). Cependant, tout ce que j'essaie ne fonctionne pas!

Voici mon jQuery

$(document).ready(function(){      

     if (jQuery.browser.msie === true) { 

     $("input.date-picker").each(function(i) 
      { 
       var $foo= $(this); 
       $foo.bind('onfocus onblur', function() { 
        $(this).toggleClass('smalltxt-active'); 
        }); 

      });     

      }//end if 


    }); 

La case correspondante une

<input name="ctl00$SelectionContent$Selections1$txtDestinationDate" type="text" 
id="ctl00_SelectionContent_Selections1_txtDestinationDate" class="date-picker" 
style="width:80px;" /> 

Je l'ai déjà confirmé que mon code détecte MSIE. Que je reçois un nombre de 2 objets input.date-picker.

Des idées?

Merci à l'avance,

Répondre

3
$foo.bind('onfocus onblur', function() { 

devrait être

$foo.bind('focus blur', function() { 

Vous n'avez pas besoin chaque boucle, vraiment

$("input.date-picker").bind('focusin focusout', function(){ 
    $(this).toggleClass('smalltxt-active'); 
} 

est très bien. Il sélectionnera tous les éléments d'entrée avec la classe 'date-sélecteur' et liera les événements à celui-ci. Vous pouvez également lire sur les événements .focusin() et .focusout().

+0

Merci pour la réponse rapide! Est-ce que .bind() ajoute du code à l'élément d'entrée pour ces événements? ça ne marche pas, même avec ce changement. Et je ne vois aucun balisage ajouté, soit (pas sûr si je suis censé) – TheGeekYouNeed

+0

mis à jour. .bind() n'appelle qu'une méthode eventhandler qui lie votre code selfdefined. Si tout fonctionne correctement, vous pouvez utiliser FireBug pour regarder la bascule de la classe smalltxt-active. – jAndy

0

essayer ceci pour de nombreux éléments de forme

$ ("entrée, sélection, la touche") se lient ('focusIn focusout', function() { $ (this) .toggleClass ('FOCU');. });

Questions connexes