2010-12-08 5 views
2

J'ai écrit une fonction qui efface automatiquement la valeur prédéfinie d'un champ de saisie lorsque l'utilisateur se concentre dessus et la remet sur flou si l'utilisateur n'entre aucune valeur. Par conséquent, la valeur de <input type="text" value="example" /> ne doit pas être mise au point.Effacer le champ de saisie lorsque des données sont glissées et supprimées

Le problème que je suis confronté est la suivante:

Lorsque je sélectionne un peu de texte sur la page et le glisser-déposer dans le champ d'entrée, le champ ne sera pas effacé avant d'appliquer le texte abandonné. Au lieu de cela, la valeur du champ de saisie deviendra: exampleLorem, par opposition à Lorem.

Existe-t-il un moyen approprié de supprimer la valeur par défaut juste après que le texte a été déposé dans le champ de saisie?

+0

La seule façon sûre que je peux penser est d'utiliser la minuterie .. vérifier toutes les x millisecondes (par exemple 50) si la valeur a changé et si oui, déclencher l'événement onchange manuellement. –

Répondre

4

Il y a quelques autres événements que vous pouvez utiliser que accent et flou

le plus intéressant de cette question devrait être drop, dragenter et dragleave

S'il vous plaît noter: dans MSIE il ressemble l'événement de focus se déclenche immédiatement après la chute, donc vous avez besoin d'un type de drapeau à placer sur drop (et enlever ce drapeau un moment plus tard), pour gérer une invocation de focus forcée par drop.

A noter également: malheureusement opéra ne supporte pas les dragdrop-événements

+0

Merci, cela m'a mis sur la bonne voie. J'ai fini par utiliser et modifier l'exemple sur cette page pour atteindre le résultat que je voulais: http://www.java2s.com/Tutorial/JavaScript/0480__Drag-Drop/ondropeventhandlerIE.htm – Ilium

0

Peut-être que vous pouvez effacer le préréglage non sur le focus, mais sur le vol stationnaire (ou le survol de la souris)?

+0

J'ai essayé de le faire, mais pour une raison quelconque, des événements tels que hover ou mouseover ne fonctionnaient pas pour les zones de saisie lorsque vous faisiez glisser un texte. – Ilium

Questions connexes