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...
InformationsquelleAutor Nick | 2009-09-25