IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Interdire le glisser/déposer d'un élément ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut Interdire le glisser/déposer d'un élément ?
    Salut,

    J'aimerais savoir quelle est à votre avis la meilleure façon d'interdire le glisser/déposer d'un élément...

    Je me psoe cette question suite au messages #16 et #17...

    Au début j'ai rajouté event.preventDefault(); sur le onmoussedown, le onmousseup et le onmoussemove...

    Mais c'est dommage car on pourrait avoir besoin de ces événements pour autre chose...

    Alors j'ai pensé à annuler plutôt le ondragstart et peut-être aussi le ondrop...

    Et que dire de draggable="false"... Est-ce suffisant ? Est-ce mieux ?

    PS : Pour annuler le ondragstart et le ondrop est-ce mieux de rajouter event.preventDefault(); ou bien de faire ondragstart="return false;" ondrop="return false;" ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Les mécaniques de sélection de texte et de glisser-déposer sont par essence incompatibles. Elles s’excluent mutuellement.

    Le problème c’est que cette exclusion s’opère au niveau du navigateur même, hors du contrôle de JavaScript.

    Quand on tente de faire une sélection au milieu d’une portion de texte déjà sélectionnée, c’est le glisser-déposer qui a priorité. Et on a beau annuler le dragstart, au moment où notre script reçoit l’évènement, il est déjà trop tard, la mécanique de sélection a été préemptée et on n’a pas de moyen de lui dire « allez c’est à toi »… À moins de refaire à la main tout le système de sélection, mais ce serait super fastidieux et super casse-gueule

    C’est un des défauts de l’API de glisser-déposer HTML 5 — elle en a fait râler plus d’un (article en anglais).
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    Salut Watilin, merci pour ce lien je me suis retrouvé il ya 1 semaine dans cette impasse ton lien m'a bien aidé a comprendre que c'est bien une implémentation html5 bancale sans réelle alternative le temps qu'une personne puisse trouver un hack pour contourner cette incohérence, j'ai rien trouvé.
    Fin de l'histoire, j'ai abandonné cette idée .

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Merci.
    Oui je me souviens de ce lien, tu me l'avais indiqué dans un autre fil...

    Sinon j'ai trouvé un moyen par la suite pour éviter l'apparition de l'image "panneau sens interdit" qui posait problème : #39...

    Mais Patrick et NoSmoking ont trouvé une autre solution (supprimer/annuler/empêcher la sélection..).

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/07/2015, 16h56
  2. Réponses: 0
    Dernier message: 17/04/2014, 17h45
  3. Réponses: 2
    Dernier message: 23/05/2010, 03h30
  4. Glisser déposer sur formulaire
    Par norvel dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 11h20
  5. [MFC] Glisser/Déposer dans une CView
    Par octopus984 dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2005, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo