2010-08-31 8 views
0

Je travaille actuellement sur un éditeur Web WYSIWYG.Je ne réponds pas lorsque le texte est sélectionné

Le problème que j'ai rencontré est un peu compliqué.

Lorsque je sélectionne une section de texte et clique sur quelque chose sur mes outils, la commande fonctionne mais immédiatement le texte n'est plus sélectionné. Comme lorsque nous sélectionnons du texte dans une page Web, lorsque nous cliquons sur autre chose, le texte n'est plus sélectionné et tout revient à la normale.

Y at-il un moyen de supprimer les clics de la souris lorsqu'un texte est déjà sélectionné pour que le texte reste sélectionné?

Merci d'avance.

Répondre

2

Vous devez ajouter un attribut à tous les éléments HTML dans la barre d'outils:

unselectable = "on" 

Cela fonctionne pour IE, ne savent pas pour d'autres browsres. Je me souviens de cela quand je jouais avec la tentative de réinventer la roue en faisant le nième éditeur HTML WYSIWYG. Après avoir décidé d'utiliser TinyMCE, même si parfois je regrette de ne pas m'amuser à le développer de zéro

+0

Selon ici: http://help.dottoro.com/lhwdpnva.php apparemment pour Safari et FF vous pouvez utiliser un style en ligne spécifique: -moz-user-select: none; -webkit-user-select: none –

+0

Croyez-moi, une fois que vous avez développé votre propre éditeur WYSIWYG, vous ne vous amuseriez pas. –

+0

+1, mais le bit sur la solution CSS dans les navigateurs non-IE serait mieux dans la réponse. Juste pour confirmer, 'unselectable =" on "est en effet IE-only. –

0

Ajoutez un écouteur d'événement sur les éléments en question, et rendez la fonction return false - ceci va intercepter le comportement par défaut (qui désélectionne votre texte). Vous devez définir useCapture sur true pour que cela fonctionne.

+0

Merci Greg, J'ai raté avec return false; event.preventDefault() ;, returnValue = false et aucun d'entre eux n'a fonctionné Pourriez-vous être un peu plus précis. –

0

Lorsque vous ajoutez unselection = on alors le clic sur l'élément de la barre d'outils ne fonctionnera pas. Ce problème est spécifique à IE, IE Resize Handle Caret lorsque vous arrivez sur la barre d'outils

Questions connexes