J'ai travaillé avec des objets de sélection / gamme, et en raison de la quantité incroyable d'incohérences entre les navigateurs pour des trucs spécifiques de sélection / gamme (même plus que le DOM), je me demandais s'il y avait un cadre qui m'aiderait à les traverser.
(Réponse faite par demande;)
Jetez un oeil à IERange :
IERange est une mise en œuvre complète des W3C DOM Ranges pour Internet Explorer, permettant aux utilisateurs d'écrire une version cross-browser de leur code de manipulation de portée.
Supporte les API de la gamme:
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()
Supporte les API de sélection:
window.getSelection()
addRange()
, removeAllRanges()
, getRangeAt()
, toString()
J'ai écrit une nouvelle gamme / bibliothèque de sélection appelée Rangy qui est similaire à celle d'IERange mais va beaucoup plus loin. Le noyau est assez complet et actuellement disponible pour téléchargement . Je suis actuellement bugfixing et le documenter et il ne devrait être que quelques semaines avant une version complète.
MISE À JOUR 31 août 2011
Rangy est maintenant stable et à la version 1.2 ( page de téléchargement ).
Fieldselection est un plugin jquery très utile pour la sélection / la manipulation de la gamme.