2009-10-24 2 views
3

선택 영역을 감싸기 위해 surroundContents를 사용해야하는 스크립트가 있습니다. 이렇게하면 무언가를 추가 한 다음 범위를 선택 영역으로 다시 할당 할 수 있습니다.여러 태그에 걸쳐있는 범위의 SurroundContents (getRangeAt problem?)

필자는 문제를 getRangeAt의 오용으로 좁혔다 고 생각하지만,이를 수정하는 방법을 잘 모르겠습니다. 라인 여기가 나 오류가 발생합니다 89 있어요

 function getRangeObject(selectionObject) { 
     // Moz 
     if (selectionObject.getRangeAt) { 
      return selectionObject.getRangeAt(0); 
     } 

그리고 :

Error: uncaught exception: [Exception... "The boundary-points of a range does not meet specific requirements." code: "1" nsresult: "0x805c0001 (NS_ERROR_DOM_RANGE_BAD_BOUNDARYPOINTS_ERR)" location: " http://www.latentmotion.com/insertNode/index26.html Line: 89"]

:
rangeObject.surroundContents(newNode); 

그리고 물론

가 여기 오류의

여기에 코드의 간단한 비트입니다

모든 것을 보는 것이 도움이된다면 여기 (지금까지) 스크립트를 볼 수 있습니다 : http://www.latentmotion.com/insertNode/index26.html

그리고 제가 선택한 텍스트 선택 도우미는 quirksmode였습니다 - 복수 범위의 사용에 대해서는 자세히 설명하지 않았습니다. located here.

미리 도움을 주셔서 감사합니다.

+0

문제 해결 방법을 알려 주시면 친절하게 도와 드릴 수 있습니까? –

답변

1

오류 메시지가 문제를 잘 설명한다고 생각합니다. This section of the DOM Range specsurroundContents을 사용할 때 Range에 의해 예외가 throw되는 원인을 설명합니다.

+0

예 - 그럴 수도 있습니다. 나는 당신이 연결 한 spec을 읽었지 만, 문제를 해결하는 방법을 여전히 확신 할 수 없습니다. 오류를 throw하는 비 텍스트 노드를 선택/정리하는 방법이 있습니까? 아마 부분적으로 선택된 노드를 감지하고 어떻게 든 그것을 닫을 수 있습니까? – Matrym

+1

당신이하고 싶은 것을 더 정확하게 말하면 도움이 될 것입니다. 무엇을 추가하고 싶습니까? –

관련 문제