OVH Cloud OVH Cloud

empecher le shift sous firefox

12 réponses
Avatar
Etienne SOBOLE
salut.

j'ai besoin d'empécher qu'un clique avec SHIFT enfoncé n'ouvre un nouveau
navigateur sous firefox.
sous IE pas de probleme. je retourne false et le shift n'est plus géré, mais
sous firefox, ca m'ouvre a tous les coup un nouveau navigateur.

j'ai vraiment besoin d'un coup de main la !!!

Merci
Etienne

10 réponses

1 2
Avatar
ASM
salut.

j'ai besoin d'empécher qu'un clique avec SHIFT enfoncé n'ouvre un nouveau
navigateur sous firefox.


et où faut-il faire cette astuce ?
paske là, moi avec mon FF, je n'arrive pas à reproduire le phénomène.

sous IE pas de probleme. je retourne false et le shift n'est plus géré, mais
sous firefox, ca m'ouvre a tous les coup un nouveau navigateur.


tu retournes false à partir de quoi ?

j'ai vraiment besoin d'un coup de main la !!!


Et si tu précisais un peu ton cas de figure ?



--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Etienne SOBOLE
Ouai j'avoue que j'ai pas été tres clair.

en gros je cherche a refaire la selection multiple de windows sur un page
web pour manipuler des fichiers dans une interface web:
Shift pour selectionner une plage
Control pour ajoutter ou retirer un fichier.

donc je clique sur un fichier, il est selectionné
en appuyant sur shift je clique sur un autre fichier de la liste, et ca
selectionne tous les fichiers... enfin a la windows quoi.

Mais apres, en restant sur shift préssé, je fais mon drag and drop.
et lorsque je drop, evidement j'appelle une page pour prendre en compte le
mouvement de mes fichiers.
et hop cette url est ouverte dans une nouvelle fenetre alors qu'evidement ce
n'est pas du tout le but de la manoeuvre.

en gros. j'aimerai que

<a href='#' onclick='return gourl();'>clic ici</a>

function gourl()
{
window.location.href = 'mapage.php';
return false;
}

n'ouvre pas de nouvelle fenetre si je clique sur "clic ici" avec la touche
shift préssé.
dans la foule, faudrait que ca n'ouvre pas non plus de tab si c'est control
qui est préssé.

Etienne
Avatar
ASM
Ouai j'avoue que j'ai pas été tres clair.


[...]

en gros. j'aimerai que

<a href='#' onclick='return gourl();'>clic ici</a>

function gourl()
{
window.location.href = 'mapage.php';
return false;
}

n'ouvre pas de nouvelle fenetre si je clique sur "clic ici" avec la touche
shift préssé.


scrognegneu !
mais j'en étais resté avec l'habitude du clic-droit et son menu
jamais je n'ai utilisé cette facilité :-(

Grâve problème :
===============
à ce qu'il semble
seul IE (windows only I expect) est capable de
detecter les event sur les touches shif alt control :
http://fr.selfhtml.org/javascript/objets/event.htm#alt_ctrl_shift_key

et j'imagine que çà va pas être fastoche de détourner ces touches avec FF
à moins que ?
http://xulfr.org/xulplanet/xultu/xblevents.html

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Etienne SOBOLE
scrognegneu !
mais j'en étais resté avec l'habitude du clic-droit et son menu
jamais je n'ai utilisé cette facilité :-(


hehe.
bon ben de mon coté, j'ai résolu mon probleme en remplacant les balises A
par des balises B.
du coup, plus d'ouverture de nouvelle fenetre.
c'est pas l'ideal, mais bon.

Avatar
Laurent Vilday
à ce qu'il semble
seul IE (windows only I expect) est capable de
detecter les event sur les touches shif alt control :


Non ce n'est pas vrai, même mon vieux mozilla 1.7.3 y arrive très bien.
http://developer.mozilla.org/en/docs/DOM:event
http://developer.mozilla.org/en/docs/DOM:event.shiftKey

Et pour en etre convaincu :
http://mokhet.com/tests/event_and_shift_alt_ctrl.html

--
laurent

Avatar
ASM

on notera que j'avais pris des pincettes

à ce qu'il semble

seul IE (windows only I expect) est capable de
detecter les event sur les touches shif alt control :



Non ce n'est pas vrai, même mon vieux mozilla 1.7.3 y arrive très bien.


Bonne nouvelle ! j'en suis ravi.

http://developer.mozilla.org/en/docs/DOM:event
http://developer.mozilla.org/en/docs/DOM:event.shiftKey

Et pour en etre convaincu :
http://mokhet.com/tests/event_and_shift_alt_ctrl.html


Ha ! oui ! ... çà se mérite tt de même ... hein ?
(30 lignes pour remplacer 3 évenements prévus)

J'ai archivé la démo pour essayer d'y comprendre progressivement :-)
Merci
--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Laurent Vilday

Ha ! oui ! ... çà se mérite tt de même ... hein ?
(30 lignes pour remplacer 3 évenements prévus)


Pour être compatible avec IE oui ça se mérite :p
Et encore, cette version de gestion des évènements est une version super
light de ce que j'utilise qui est 10 fois plus gros, la compatibilité ca
prend de la place ehehe.

--
laurent

Avatar
Etienne SOBOLE
Et pour en etre convaincu :
http://mokhet.com/tests/event_and_shift_alt_ctrl.html


genial cet exemple.
dommage que ce ne soit pas

shif+clic sur ce lien ouvre le lien dans la fénètre active !!! :)
Etienne

Avatar
Etienne SOBOLE
Ha ! oui ! ... çà se mérite tt de même ... hein ?
(30 lignes pour remplacer 3 évenements prévus)


hum...
c'est long en effet.

moi personnellement j'utilise un truc beaucoup plus simple pour detecter le
shift (meme sous FireFox)!

<div class='carrerouge' onclick='return test_shift(this, event);'>

function test_shift(o, e)
{
var shift = (isFF) ? e.shiftKey : (event.shiftKey);
...
}

voila. evidement isFF est true s'il s'agit de firefox.
Je me demande meme si event.shiftKey ne renvoit pas dans tout les cas de
figure l'etat de la touche shift...

Etienne

Avatar
ASM

moi personnellement j'utilise un truc beaucoup plus simple pour detecter le
shift (meme sous FireFox)!

<div class='carrerouge' onclick='return test_shift(this, event);'>

function test_shift(o, e)
{
var shift = (isFF) ? e.shiftKey : (event.shiftKey);
...
}

voila. evidement isFF est true s'il s'agit de firefox.
Je me demande meme si event.shiftKey ne renvoit pas dans tout les cas de
figure l'etat de la touche shift...


si(*) :
<a href="#" onclick="alert(event.shiftKey);">shift ou non ?</a>
avec mon FF, IE, Opera, Safari
iCab gèle le shift à son profit :
ne sert qu'aux sélections et il se moque alors des histoires de liens
Seul mon FF ouvre un popup avec shift+clic sur lien

mais ...
et alors ?
en quoi cela résoud le non popup lors d'un shift+click sur le lien ?

j'ai essyé çà sans succès :
<a href="test.htm"
onclick="if(event.shiftKey){
self.location=this.href;
return false;
}">sobole non ok</a>

qui ouvre bien test.htm dans même fenêtre
mais n'empèche pas le popup simultané
et comme on ne peut faire event.shiftKey = false;
je ne vois pas la soluce.



(*) contrairement à ce que laisse entendre selfhtml.org
qui prétend que c'est IE only
(à ce que j'ai compris)

--
Stephane Moriaux et son [moins] vieux Mac

1 2