onfocus & onblur ne fonctionne pas sous IE
J'ai écrit un code qui va me permettre d'avoir quelques grisé texte sur un formulaire de saisie, et lorsque l'utilisateur se concentre sur elle, le texte disparaît et devenir ungreyed, si cela fait sens...
function editableAlt (elem, colour1, colour2) {
var elem = document.getElementById(elem);
elem.onfocus = function () {
if(this.value == this.defaultValue) {
this.value = ""; //remove the default text, so the user can enter their own
this.style.color = "#" + colour1; //change the text colour
}
};
elem.onblur = function () {
if(this.value == '') {
this.value = this.defaultValue; //user left it blank? revert back to the default text
this.style.color = "#" + colour2; //and change the colour back too
}
}
}
C'est de travailler sur la plupart des pages, mais pour une raison quelconque, le onfocus et onblur ne travaillent pas du tout, si par exemple, je l'ai changer pour onclick elle déclenche pas de problème.
Est-il autre chose que je peux essayer? 🙁 Je suis à l'aide de JQuery, mais en enlevant qui ne semble pas d'effet du tout.
Acclamations
- Fonctionne dans mon IE6: jsbin.com/aduni Vous êtes en train de faire quelque chose d'autre tort d'ailleurs dans votre code.
- Merci, j'ai même essayé à l'aide de Jquery en vain: if($("#Absence_Hours").length > 0) { $this = $(this); // cache la variable $this.focus(function () { alert('test'); }); } modifier le focus() de la souris() fonctionne très bien mais...
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé que IE est extrêmement impitoyable quand il s'agit d'erreurs de javascript. J'ai couru votre code par le biais de jslint et a obtenu les erreurs suivantes:
D'erreur:
Problème à la ligne 2 de caractères 14: 'elem' est déjà défini.
Problème à la ligne de 10 caractères 23: Utilisation de '===' pour comparer avec ".
Problème à la ligne 14 de caractère 6: point-virgule Manquant.
Implicite global: document 2
Ne cherche pas à lésiner sur la façon d'aider votre ou quoi que ce soit, mais je suppose que si vous réparer ces erreurs, vous verrez des résultats plus désirables. Bonne chance!
Quel idiot, désolé les gars! J'ai essayé de supprimer tous les autres fichiers Javascript, mais il a manqué le plus important était qu'il était enveloppé dans du PHP et IE si les déclarations, d'oh!
Suckerfish sfFocus a été appliquée qui a causé la rupture: http://htmldog.com/articles/suckerfish/shoal/
Désolé 🙁 & merci beaucoup pour les suggestions