2017-11-10 1 views
0

서식있는 텍스트 편집기를 만들고 있는데 동일한 단추를 사용하여 선택 항목을 연결 및 연결 해제하고 싶습니다.선택 항목에 링크가 포함되어 있는지 확인하십시오.

document.execCommand('createLink'...)document.execCommand('unlink'...)은 사용자가 window.getSelection().toString()을 연결 및 연결 해제 할 수 있도록합니다.

그러나 선택이 연결되어 있는지 여부를 결정하는 inbuilt 메서드가 없으므로 제 질문은 입니다. 선택 항목이 연결되었는지 여부를 어떻게 확인할 수 있습니까?

내가 document.queryCommandState('createLink')document.queryCommandState('unlink')를 사용하여 시도했지만 두 쿼리는 항상하더라도, 예를 들어, document.queryCommandState('bold') 제대로 작동 false 돌아갑니다.

const isLink =() => { 
    if (window.getSelection().toString !== '') { 
    const selection = window.getSelection().getRangeAt(0) 
    if (selection) { 
     if (selection.startContainer.parentNode.tagName === 'A' 
     || selection.endContainer.parentNode.tagName === 'A') { 
     return [true, selection] 
     } else { return false } 
    } else { return false } 
    } 
} 
+0

당신이 jQuery를 사용하고 있습니까 : –

+0

@AlvaroMontoro vanilla JS – Anthony

+0

@ AlvaroMontoro 글쎄, 나는 그것을하는 한 방법을 생각했다. 선택을 캐싱하고 앵커 태그에 대한 텍스트 본문을 검색하고 그런 식으로 수정하십시오. – Anthony

답변

0

나는 SO 주위에 차고, 당분간 충분히 작동합니다 다음 코드 조각을 발견? 또는 바닐라 자바 ​​스크립트입니까?
관련 문제