Vérification Javascript pour le support des espaces réservés natifs dans IE8
tldr:
Pourquoi ne ('placeholder' dans inputElemnt) l'égalité de vrai dans IE8 malgré l'absence de prise en charge native de l'espace réservé attribut? N'est-ce pas (attribut dans l'élément) une bonne façon de vérifier pour la prise en charge native? La bibliothèque Javascript Moderniste de l'utiliser.
Long:
j'ai un petit plugin Jquery appelé Defaultvalue ( http://unwrongest.com/projects/defaultvalue/ ). j'ai un petit plugin Jquery appelé espace Réservé ( https://github.com/janjarfalk/jquery.placeholder.js ). En gros, c'est un secours pour le HTML5 espace réservé à l'attribut.
Dans une récente mise à jour, j'ai ajouté ces trois lignes de code. En espérant que Defaultvalue ne pas s'exécuter si le navigateur a un support natif pour l'espace réservé à l'attribut.
si('placeholder') { //ceci est une entrée-élément return false; }
Il semble fonctionner dans la plupart des navigateurs, sauf IE8 et IE7. Pour une raison quelconque, il trouve la touche "espace réservé" dans ce, mais il n'y en a pas, je pense, aucune prise en charge pour l'espace réservé à l'attribut dans IE7/IE8.
Mon code a été inspiré par ce code dans la bibliothèque Javascript Moderniste ( http://www.modernizr.com/ ).
(function(accessoires) { for (var i = 0, len = accessoires.longueur; i < len; i++) { attrs[ accessoires[i] ] = !!(props[i] dans inputElem); } retour attrs; }) (saisie semi-automatique autofocus liste espace réservé max min de multiples modèle requis.split(' '));
Ce qui me manque?
source d'informationauteur janjarfalk
Vous devez vous connecter pour publier un commentaire.
La création d'une nouvelle entrée brute élément résolu mon problème.
Grâce RobG, vous m'a conduit à elle.
Il ne le fait pas. Il est égal à false dans les deux IE9 et IE8.
Démo Live: http://jsfiddle.net/JVSgx/