begin process at 2012 05 29 19:53:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Position d'une selection dans un div editable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Position d'une selection dans un div editable

vendredi 24 juin 2011 à 23:59:45 | Position d'une selection dans un div editable

fefefefef

Bonjour,

je cherche a obtenir la position d'une sélection d'un texte placé dans un div que l'on peut modifier à l'aide de l'attribut contentEditable.

j'arrive a obtenir la selection dans tous les navigateurs grâce à :

Code Javascript :
function gS()
{
	if(window.getSelection)
	{
		return window.getSelection();
	}
	else if(document.getSelection)
	{
		return document.getSelection();
	}
	else
	{
		var selection = document.selection && document.selection.createRange();
		if(selection.text)
		{
			return selection.text;
		}
		return false;
	}
	return false;
}



Ce que j'aimerai avoir c'est la position du curseur de fin et de début de la sélection au sein du div.
Code HTML :
<div><b>Mon texte</b></div>

Par exemple si l'on prennait ce div et que l'on sélectionnait "Mon texte" j'aimerai que la fonction me renvoie [0,9] (en ne tenant pas compte des balises) ou alors [3,12] (en tenant compte des balises).

Le second cas serait nettement appréciable.

J'ai tenté le coup avec cette fonction :
Code Javascript :
function t2()
{
	selection=gS();
	
	debutTemp=selection.anchorOffset;
	finTemp=selection.focusOffset;
	
	alert('debut :' + debutTemp);
	alert('fin :' + finTemp);
	
	debut=Math.min(debutTemp,finTemp);
	fin=Math.max(debutTemp,finTemp);
	
	alert('['+debut+';'+fin+']');
}


Elle fonctionne bien dans Safari si le texte ne contient pas de balises.
Elle ne fonctionne pas ni dans Safari dans Firefox si le texte contient des balises.
Elle ne fonctionne pas dans Firefox si la sélection est faite de droite à gauche (le texte ne contenant pas de balise).

Si vous pouviez m'aider !

Merci, fef.


Cette discussion est classée dans : code, texte, selection, return, div


Répondre à ce message

Sujets en rapport avec ce message

Désactiver la sélection d'un texte [ par GanJasTeR ] Bonjour.J'aimerais obliger les visiteurs de mon site à rentrer un code de confirmation se trouvant sur la page d'inscription.Généralement ce code est Afficher / cacher plusieurs div en même temps à différents endroits. [ par charlie101097 ] Bonjour, je me suis renseigné sur le forum sans trouvé une réponse corrigeant mon problème. N'étant qu'un débutant j'ai assez peu d'idées pour mon pro Centrage texte créé par JavaScript dans un div [ par smathis ] Bonjour tout le monde, Je rencontre un problème d'affichage sous notre navigateur préféré à tous, le magnifique, IE ! Pour le contexte : J'ai une pag Passer une variable tout en ouvrant un div [ par petityo03 ] Bonjour, Cela fait 2 - 3 jours que je me bat pour essayer de passer une variable sur un lien et en même temps ouvrir un div. Je m'explique : Déjà je s ***** DIV visible au survol d'un lien d'une liste ***** [ par lemoko ] J'ai construit dans un "UL" une "merveilleuse" liste en LI issue d'une base de données. A chaque enregistrement survolé s'affiche le DIV invisible dan remove() sous IE [ par tets88 ] Bonjour, Je commence à perdre patience après toutes mes infructueuses recherches à résoudre un simple problème... Voilà, je veux simplement supprime Div Cacher/Montrer [ par ghighidu63 ] Bonjour depuis quelques jours je suis confronter à un problème. Je n'arrive pas à cacher plusieurs div, c'est à dire, Quand je clique sur le div 1 ca fonction cache montre avec slide [ par thejoker31200 ] Bonjour j'ai amélioré un bout de code pour afficher et cacher du texte avec effet de slide (affichage progressif) sans le slide ca fonctionne avec le Ajout de zone de texte [ par aljessy ] Bonjour j'ai un petit problème. J'ai un petit formulaire et j'aimerais que lorque l'utilisateur clique sur le bouton "ajouter", qu'un autre champ de t Puce d'affichage/masquage texte [ par spacedelta ] Bonjour, Je suis à la recherche du code qui permet d'afficher (si c'est masquer) ou d'afficher (si c'est masquer) le texte qui lui est "donné" Un peu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,182 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales