선택한 모든 텍스트를 선택 취소하는 기능이 자바 스크립트에 있습니까? 나는 그것이 같은 단순한 전역 함수가되어야한다고 document.body.deselectAll();
생각한다.
답변
이 시도:
function clearSelection()
{
if (window.getSelection) {window.getSelection().removeAllRanges();}
else if (document.selection) {document.selection.empty();}
}
이렇게하면 모든 주요 브라우저에서 일반 HTML 콘텐츠의 선택이 지워집니다. 텍스트 입력이나 <textarea>
Firefox에서 선택을 지우지 않습니다 .
답변
다음은 텍스트 입력 및 텍스트 영역을 포함하여 모든 선택 항목을 지우는 버전입니다.
데모 : http://jsfiddle.net/SLQpM/23/
function clearSelection() {
var sel;
if ( (sel = document.selection) && sel.empty ) {
sel.empty();
} else {
if (window.getSelection) {
window.getSelection().removeAllRanges();
}
var activeEl = document.activeElement;
if (activeEl) {
var tagName = activeEl.nodeName.toLowerCase();
if ( tagName == "textarea" ||
(tagName == "input" && activeEl.type == "text") ) {
// Collapse the selection to the end
activeEl.selectionStart = activeEl.selectionEnd;
}
}
}
}
답변
Internet Explorer 의 경우 document.selection 개체 의 빈 메서드 를 사용할 수 있습니다 .
document.selection.empty ();
브라우저 간 솔루션에 대해서는 다음 답변을 참조하십시오.
답변
A에 대한 textarea
최소한 10 개 문자 요소 다음은 작은 선택을 할 것이다 다음 두 번째과 선택 해제 반 후 :
var t = document.getElementById('textarea_element');
t.focus();
t.selectionStart = 4;
t.selectionEnd = 8;
setTimeout(function()
{
t.selectionStart = 4;
t.selectionEnd = 4;
},1500);
답변
이것은 나를 위해 매우 쉽게 작동했습니다 …
document.getSelection().collapseToEnd()
또는
document.getSelection().removeAllRanges()
크레딧 : https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected