Я работаю с объектами выбора/диапазона, а потому, что с невероятным количеством несоответствий между браузерами для конкретного материала для выбора/диапазона (даже больше, чем DOM) мне было интересно, есть ли какая-то структура, которая помогла бы мне получить через них.
Структура выбора/диапазона JavaScript
Ответ 1
(Сделал ответ по запросу;)
Посмотрите IERange:
IERange является полнофункциональным реализация W3C DOM Ranges для Internet Explorer, позволяющий пользователям написать одну кросс-браузерную версию их код манипуляции с диапазоном.
Поддерживает API диапазона:
-
document.createRange()
-
startContainer
,startOffset
,endContainer
,endOffset
,commonAncestorContainer
,collapsed
-
setStart()
,setEnd()
,setStartBefore()
,setStartAfter()
,setEndBefore()
,setEndAfter()
,selectNode()
,selectNodeContents()
,collapse()
-
insertNode()
,surroundContents()
-
extractContents()
,cloneContents()
,deleteContents()
-
compareBoundaryPoints()
,cloneRange()
,createContextualFragment()
,toString()
Поддержка API выбора:
- Поддержка диапазона (стиль Webkit)
-
window.getSelection()
-
addRange()
,removeAllRanges()
,getRangeAt()
,toString()
Ответ 2
Я написал новую библиотеку диапазона/выбора, называемую Rangy, которая по идее похожа на IERange, но идет намного дальше. Ядро довольно полно и доступно в настоящее время для загрузки. Я в настоящее время исправляю и документирую его, и это должно быть всего за несколько недель до полной версии.
ОБНОВЛЕНИЕ 31 августа 2011 г.
Rangy теперь стабилен и на версии 1.2 (страница загрузки).
Ответ 3
fieldselection - очень удобный плагин jquery для манипуляции с выбором/диапазоном.