2011-03-01 3 views
2

Je me demandais, s'il était possible d'effacer une zone de texte avec un code css plutôt que d'utiliser javascript?Utilisation de Css pour effacer TextBox Texte/valeur

+0

+1 pour la compréhension de débordement de la pile immédiatement et poser une bonne question. Bienvenue, reza m! :) –

+0

merci, je n'ai pas créé de compte: P –

Répondre

2

Ceci est impossible avec CSS, seulement avec JS:

fonction de gestionnaire d'événement:

addEvent(document.getElementById('IDHERE'), "focus", 
function() { 
    clearText('IDHERE'); 
}); 

fonction d'écouteur d'événement :

//addEvent listener 
function addEvent(obj, type, fn) { 
    if (obj.addEventListener) { 
     obj.addEventListener(type, fn, false); 
    } else { 
     if (obj.attachEvent) { 
      obj["e" + type + fn] = fn; 
      obj[type + fn] = function() { 
       obj["e" + type + fn](window.event); 
      }; 
      obj.attachEvent("on" + type, obj[type + fn]); 
     } 
    } 
} 

fonction texte en clair:

//Clear on focus function 
function clearText(id) { 
    document.getElementById(id).value = ""; 
} 

Ce JS est pur, pas de bibliothèques nécessaires ici, très rapide et x-navigateur compatible :)

+0

Je ne comprends pas pourquoi les quatre lignes avant de faire 'attachEvent' sont nécessaires ... – nyuszika7h

+0

@ Nyuszika7H ils capturent l'événement comme cela arrive sur l'élément DOM, cela élimine le besoin de JS en ligne, il ajoute l'événement "onclick" à cet élément DOM, puis appelle la fonction clearText. –

+0

@MylesGray Il est inutile d'ajouter des gestionnaires d'événements en ligne si vous faites déjà 'addEventListener' /' attachEvent'. Pas besoin de 'onclick' du tout, même IE6 supporte' attachEvent'. – nyuszika7h

2

Vous ne pouvez pas utiliser CSS pour manipuler le DOM. En d'autres termes: ce n'est pas possible.

Avec CSS on ne peut pas changer un document, seulement l'apparence et le comportement du document mais c'est tout.

1

Ceci est impossible. CSS est pour la présentation seulement, HTML est pour l'information et la structure et javascript est pour la manipulation DOM. Vous devrez utiliser Javascript ou l'une de ses bibliothèques à faire :)

0

peut être fait, mais juste d'une manière visuelle, il ne regretterez pas réellement, mais être montrés trop coutume

il peut y avoir beaucoup d'astuces, l'une peut être de définir la couleur du texte comme l'arrière-plan de votre zone de texte, désactiver la sélection.

mais si vous voulez qu'il soit complètement disparu, vous devez utiliser javascript

Questions connexes