2006년 7월 19일 수요일

웹페이지에서 선택된 element들을 알아내려면?

IE에서는 document의 selection을 이용합니다.
1. selection을 얻어옵니다.
var sel = document.selection;
2. selection으로부터 Range를 생성해 냅니다. createRangeCollection 메소드는 현재 선택된 selection으로부터 TextRange collection을 생성해냅니다.
var range = sel.createRangeCollection();

3. [selection이 하나라고 가정하고...] htmlText를 이용해서 html을 읽어냅니다.
var txt = range[0].htmlText;


Firefox에서는 window의 selection을 이용합니다.
1. selection을 얻어옵니다.
var sel = window.getSelction();
2. selection으로부터 시작노드 anchorNode와 마지막노드 focusNode를 얻어올 수 있습니다.
var start = sel.anchorNode;
var end = sel.focusNode;

※ IE처럼 FF에서도 selection으로부터 Range 객체를 가지고 올수 있습니다. Range객체의 개수는 sel의 rangeCount를 사용합니다. ^^;; FF에서는 따로 테스트는 안해봤어요~

관련자료 : Finding textarea selection

댓글 없음:

댓글 쓰기