getSelection defined - rangeCount undefined
duggy
- javascript
Hi,
ich wollte mir von diesem Script den insertTable Button abschauen. Habe statt dem iframe allerdings ein div [contenteditable]. Also das Skript (function insertNodeAtSelection) angepasst:
var sel = document.getSelection();
alert(sel); // markierter Text korrekt alertet
alert(sel.rangeCount); // undefined (obwohl sel = "wort")
try { var range = sel.getRangeAt(0); } catch (e) { alert(e); } // sel.getRange is not a function
Wie kann das sein?
Hi,
Wie kann das sein?
Kann man mit so wenig Code und ohne Kontext nicht sagen.
MfG ChrisB
Hallo,
Kann man mit so wenig Code und ohne Kontext nicht sagen.
Der Code war vollständig; die Kontextinfo hätte höchstens sein können, dass duggy Firefox 3.x oder Opera verwendet. Seit Firefox 3 gibt document.getSelection() nur einen String zurück, über den kein Zugriff auf die Selection-API und die Ranges möglich ist. Dasselbe gilt für Opera 10.51, während im Webkit window/document.getSelection gleiche Objekte zu liefern scheint.
Mathias
Hi,
alert(sel.rangeCount); // undefined (obwohl sel = "wort")
Vielleicht ist sel (weil sel="wort") zu sehr ein String?
Ich würde mal anschauen, wie du zu sel kommst.
Gruss!
Hallo,
]var sel = document.getSelection();
Du musst window.getSelection() verwenden, dann stehen auch rangeCount und getRangeAt() zur Verfügung.
Btw, Scriptbeispiele, die auch mit getSelection und DOM-Ranges arbeiten:
http://molily.de/weblog/selectionmenu-copylink
Mathias