2009-05-27 9 views
1

J'ai un code JavaScript qui fait deux choses:Comment la sélection d'une zone de texte peut-elle être déterminée/manipulée dans Safari à partir de JavaScript?

  • récupère le texte sélectionné dans une zone de texte
  • ajoute un préfixe et le suffixe à ce texte sélectionné

Le code utilise actuellement la selectionStart et selectionEnd propriétés de la zone de texte pour déterminer où la sélection commence/finit, extrait le texte de sélection et le traite, puis réécrit la valeur de la zone de texte avec le préfixe et le suffixe insérés dans les bons emplacements.

Cette implémentation fonctionne correctement dans Firefox mais elle ne fonctionne pas dans Safari. Apparemment, les propriétés selectionStart et selectionEnd n'existent pas dans WebKit. (Je suppose que le code ne fonctionne pas non plus dans Google Chrome, qui est également basé sur WebKit, bien que je ne l'ai pas testé.)

Comment effectuer ces deux opérations dans Safari?

+0

I l'utiliser dans Chrome et cela fonctionne parfaitement – Martyn

Répondre

1

Je crois que vous êtes à la recherche https://developer.mozilla.org/En/DOM:Selection

semble également fonctionner dans Safari (non testé par moi) (voir:. http://lists.apple.com/archives/Web-dev/2005/Nov/msg00114.html

+0

Pour être honnête, j'espérais quelque chose d'un peu plus explicite, par exemple: comment remplacer le texte sélectionné? Notez aussi que je ne veux le faire que si le texte sélectionné est en une zone de texte Si un texte aléatoire sur la page est sélectionné, je voudrais donner une erreur à l'utilisateur. –

1

Voir goog.dom.selection en fermeture

Questions connexes