Bonjour,
Afin de restaurer la position du curseur d'une DIV éditable j'utilise ce code:
Ce code est utilisé pour ajouter du texte contenu dans une textarea dans une DIV éditable myInstance1. Et avec IE cela ajoute le texte au début de la page, donc pas du tout dans la DIV myInstance1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 var savedRange,isInFocus; function saveSelection() { if(window.getSelection) { //non IE Browsers savedRange = window.getSelection().getRangeAt(0); } else if(document.selection) { //IE savedRange = document.selection.createRange(); } } function restoreSelection() { isInFocus = true; document.getElementById('myInstance1').focus(); if(savedRange != null) { if (window.getSelection) { //non IE and there is already a selection var s = window.getSelection(); if (s.rangeCount > 0) s.removeAllRanges(); s.addRange(savedRange); } else if (document.createRange) { //non IE and no selection window.getSelection().addRange(savedRange); } else if (document.selection) { //IE savedRange.select(); } } }
Cela marche bien avec Firefox et Chrome.
Est-ce que quelqu'un sait pourquoi cela ne marche pas avec IE. J'ai regardé avec google et il y en a qui disent qu'il faut utiliser beforedeactivate (IE only) sur l'élément myInstance1. Mais je ne vois pas du tout comment faire.
Merci.
Partager