Puis-je déclencher un double-clic avec un simple clic dans un formulaire input[type=“file”]?
J'ai un formulaire input
pour l'envoi d'un fichier et j'ai le style, parce que je n'aimais pas le natif de style. Maintenant, j'ai un seul bouton qui lorsqu'on clique dessus, il ouvre la boîte de dialogue pour sélectionner le fichier. Il fonctionne très bien avec un simple clic sur Firefox et Chrome, mais il ne fonctionne pas dans IE. Le bouton besoin d'un double cliquez pour ouvrir la boîte de dialogue dans IE.
J'ai essayé de déclencher un double-clic avec un seul clic à l'aide de jQuery:
$("input").click(function() {
$(this).dblclick();
});
Cependant, il ne semble pas fonctionner. Est-il une autre approche pour déclencher un double-clic pour IE?
Voici la démo: http://jsfiddle.net/HAaFb/
Quelle version d'IE sont que vous essayez d'aider?
La question principale est: pourquoi est-il besoin d'un double clic dans IE? Qui pourrait être fixé. Un fichier d'entrée est généralement constitué de deux parties: quelque chose qui ressemble à une saisie de texte et un bouton. Sous IE, et qu'avec IE, le premier est déclenché par un double-clic, la dernière, en un seul clic.
au moins IE9
- Je cacher le bouton parce que c'est moche, j'ai créé un pseudo-élément et je garde l'entrée cachée pour cliquer et ouvrir la boîte de dialogue.
La question principale est: pourquoi est-il besoin d'un double clic dans IE? Qui pourrait être fixé. Un fichier d'entrée est généralement constitué de deux parties: quelque chose qui ressemble à une saisie de texte et un bouton. Sous IE, et qu'avec IE, le premier est déclenché par un double-clic, la dernière, en un seul clic.
au moins IE9
- Je cacher le bouton parce que c'est moche, j'ai créé un pseudo-élément et je garde l'entrée cachée pour cliquer et ouvrir la boîte de dialogue.
OriginalL'auteur otinanai | 2013-03-11
Vous devez vous connecter pour publier un commentaire.
La réponse n'est pas de déclencher un double clic, mais pour faire de fichier boîte de dialogue d'ouverture avec IE... Droit? Donc, je pense que la soluce serait de déclencher un clic sur le fichier d'entrée (qui sera caché?)
Dans votre violon, je fais ceci :
J'ai essayer cette
Avec ce CSS
Et il du travail...
Le problème est que, avec votre solution, le premier clic dans IE viens de donner le focus sur le bouton... Et je d ont sais comment résoudre ce problème pour l'instant!
C'est pourquoi je suis en train de déclencher une 2e cliquez après le 1er clic.
Si vous venez de wan pas un code de travail, utiliser le code dans le violon. (ou au-dessus)
Tout simplement parfait! Exactement ce que je cherchais! Je vous remercie pour votre effort JoDev!
OriginalL'auteur JoDev
Ce que quelque chose comme cela:
DÉMO:
http://jsfiddle.net/HAaFb/1/
http://jsbin.com/ukotit/17/edit
Je viens de testé avec IE8, fonctionne pour moi... jsbin.com/ukotit/17/edit
Testé dans IE9 et il ne faut pas ouvrir la boîte de dialogue avec un seul clic.
Confirmé, ne fonctionne pas dans IE9
OriginalL'auteur Dom
J'ai découvert que le jQuery file upload page de démonstration fait repositionne le champ de saisie fichier (tout en "caché"), de sorte que le bouton Parcourir se trouve bien dans la région de l' "Ajouter des fichiers" bouton. Et ainsi, lorsque vous cliquez sur ce bouton avec IE 8/9/10 l'ouvre avec un seul clic.
http://blueimp.github.io/jQuery-File-Upload/
Dans une CSS je vois:
OriginalL'auteur Dandré
Fichier intrants sont un natif/composant ActiveX dans IE et, par conséquent, ne peut pas avoir effectué sur eux - mêmes pour sélectionner les entrées.
Ce que vraiment vous avez besoin de la double cliquez sur pour?
Je veux ouvrir la boîte de dialogue par défaut pour choisir le fichier à télécharger. Cela peut être fait soit en cliquant sur le bouton parcourir, ce qui est caché dans ce cas, ou en double-cliquant sur le champ de saisie.
Vous allez avoir besoin de repositionner le bouton parcourir, comme je l'ai mentionné ci-dessous. Il ne sera pas possible de mettre en oeuvre un double clic sur le champ de saisie en raison des limitations des composants ActiveX. Comme le bouton parcourir = 1 cliquez sur, juste le changer de positionnement et de le tester dans 'opaque' vue.
+1 pour votre suggestion. Cela allait être ma prochaine déplacer si je ne pouvais pas trouver un js solution. Cependant, je voulais éviter de repositionner le bouton car les boutons différer d'un navigateur à l'autre.
Utiliser les Paul Irish IE code de classes pour les classes utilisées dans le code HTML de l'élément, qui est la seule chose qui est fiable à 100% et ne pas compter sur l'agent utilisateur les expressions régulières: paulirish.com/2008/...
OriginalL'auteur marksyzm
Je sais que je suis probablement en retard à la fête, mais juste au cas où quelqu'un d'autre tombe sur ce post, j'ai été en mesure de résoudre un problème similaire avec ce:
Travaillé sur les deux IE10 & IE11.
OriginalL'auteur Steve
OriginalL'auteur PSR
Je n'ai pas vérifier cela, mais j'imagine que vous auriez besoin d'utiliser quelque chose comme ceci:
J'espère que c'est pas idiot, haha.
OriginalL'auteur Matt Starkey
C'est votre CSS... si vous désactivez l'opacité et le clip de choses dans IE, vous verrez que le bouton parcourir est sur la droite.
Assurez-vous que le filtre:opacité n'est pas utilisé dans IE9, que l'on a travaillé pour moi. JSFiddle ne fonctionne pas sous IE7/8 donc je ne pouvais pas tester ceux-ci.
OriginalL'auteur marksyzm