2012-09-19 4 views
0

je le code suivant:jQuery flou ne fonctionne pas à IE8 et IE7

jQuery(document).ready(function ($) { 
    // ... 
    Sys.Application.add_load(function() { 
     $(".RadGrid td > .RadInput.RadInput_Default > .riTextBox.riEnabled").each(function() { 
      $(this).val($(this).val().replace(/,/g, "")); 
     }); 

     $(".RadGrid td > .RadInput.RadInput_Default > .riTextBox.riEnabled").blur(function() { 
      $(this).val($(this).val().replace(/,/g, "")); 
     }); 
    }); 
} 

La raison pour laquelle je l'ai écrit ce code est que j'utilise Telerik RadGrid qui a des colonnes et autogénérées un filtre de colonne , qui formate la valeur des valeurs de filtre de colonne entier. Par exemple 1000000 devient 1,000,000. Cela fonctionne bien, mais je dois me débarrasser de la mise en forme car cela dérange certaines personnes. Essentiellement, les éléments HTML dont nous parlons sont des entrées et ils sont modifiés par telerik et peuvent être trouvés avec le sélecteur que vous voyez dans le code. Je veux m'assurer que les utilisateurs ne verront jamais de virgules dans ces entrées. Mon code fonctionne bien dans Google Chrome, FF et IE9, mais il ne fonctionne pas avec IE8 et IE7. En fait, après le chargement de ma page, je ne vois pas de virgules, cependant, si je les édite, finis le focus sur les éléments, les virgules apparaissent. Ces problèmes sont applicables uniquement dans IE8 et IE7. Comment puis-je corriger mon code pour qu'il fonctionne dans Chrome, FF, IE9, IE8 et IE7?

Merci d'avance pour toute aide.

Meilleures salutations,

Lajos Árpád.

Répondre

1

De l'JQuery documentation:

L'événement de flou est envoyé à un élément lorsqu'il perd le focus. À l'origine, cet événement était uniquement applicable aux éléments de formulaire, tels que < entrée >. Dans navigateurs récents, le domaine de l'événement a été étendu pour inclure tous les types d'éléments.

Donc, si, comme je suppose, riTextBox est une classe d'une durée contenant une entrée, cela devrait fonctionner:

$(".RadGrid td > .RadInput.RadInput_Default > .riTextBox.riEnabled input") 
     .blur(function() { 
       $(this).val($(this).val().replace(/,/g, "")); 
    }); 
Questions connexes