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 :

TextRange - selection *vide* à la position du curseur texte : possible ou pas ?


Sujet :

JavaScript

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Par défaut TextRange - selection *vide* à la position du curseur texte : possible ou pas ?
    Bonsoir la Cie.

    J'utilise un code qui contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.selection.createRange().parentElement().style.borderColor = "red";
    Si j'ai une selection active, c'est ok, ça marche, et la bordure du conteneur du texte selectionné devient rouge... ok.

    Mais si aucune selection est active, ça ne marche pas.

    Je pensais naïvement que le curseur texte (caret), représentait une selection vide, et que je pouvais donc récupérer cette selection, et y appliquer parentElement(). Malheureusement non, ça ne marche pas.

    Comment peut-on, soit créer une selection vide à la position du curseur texte, soit récupérer une référence au conteneur dans lequel se trouve le curseur texte ?

    J'ai cherché toute la soiré et une bonne partie de la nuit (vous voyez l'heure qu'il est)... et je n'en peu plus, je desespère (p'têtre beh que j'suis bête)

    En tous cas, merci d'avance si quelqu'un sait.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Un simple onfocus pourrait éviter tout ce code inutile ..

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Par défaut
    Citation Envoyé par Bisûnûrs
    Un simple onfocus pourrait éviter tout ce code inutile ..
    Oui, je comprends, mais ça ne convient pas : je dis plus loin pourquoi. Mais avant tout, j'explique la solution à ce problème que je viens de résoudre. En fait, l'action était executée par un bouton. Quand il y a une selection active dans un texte de la page, le fait de cliquer sur le bouton ne change pas l'état de la selection. Là c'est Okay. Mais s'il n'y a pas de selection active, alors le fait de cliquer sur le bouton, fait que c'est le bouton qui devient la selection ( )... alors finalement, j'ai ajouter un « panel.focus(); », pour redonner le focus au conteneur principal, avant d'effectuer l'action. Ceci restitue la position du curseur texte, qui agit finalement bien comme une selection vide.

    Maintenant à propose de ta réponse : cet exemple était un teste, pour appliquer une action sur un élément. Il peut y avoir plusieurs actions, qui sont executer par autant de bouton. Ors, un gestionnaire « onFocus » n'executerait toujours que la même action sur l'élement. De plus, l'action ne doit pas toujours être effectué.

    Et enfin, last but not least... quand il y a beaucoup d'élément dans la page, il faut avec cette solution, assigné un gestionnaire d'événement à chaque élément. Et ça peut ralentir le fonctionnement de la page (et je suis très attaché au question d'accessibilité, travaillant moi-même sur un très vieux pc).

    Voili-voilou.... finalement, tout est bien qui fini bien

    Et merci encore pour ta contribution

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/06/2015, 06h47
  2. Réponses: 0
    Dernier message: 30/05/2015, 02h05
  3. [VB.NET]position du curseur de selection d'un datagridview
    Par philippe carel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2006, 09h39
  4. [VB6] position du curseur dans une zone texte et insertion caractere
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/05/2006, 09h52
  5. Réponses: 1
    Dernier message: 11/03/2006, 14h03

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