Я работаю с объектами выбора/диапазона, а потому, что с невероятным количеством несоответствий между браузерами для конкретного материала для выбора/диапазона (даже больше, чем 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 для манипуляции с выбором/диапазоном.