>

<input type="number"> 에서 숫자를 강조 할 때  Chrome에서 window.getSelection().toString()  강조 표시된 텍스트를 성공적으로 제공합니다.

하지만 Firefox에서는 그렇지 않습니다. 항상 비어 있습니다. 아무도 이유를 알고 있습니까? MDN getSelection 문서 에서 설명하기 때문에 이는 혼란 스럽습니다. Firefox 57에서 작동합니다.

  • 답변 # 1

    이것은 파이어 폭스 버그입니다. https://bugzilla.mozilla.org/show_bug.cgi?id=85686

    참조

    아주 오래된 것이지만 아직 수정되지 않았습니다.

    해결책으로 다음 코드를 사용합니다.

           function getSelectionText() {
                if (window.getSelection) {
                    try {
                        var activeElement = document.activeElement;
                        if (activeElement && activeElement.value) {
                            // firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=85686
                            return activeElement.value.substring(activeElement.selectionStart, activeElement.selectionEnd);
                        } else {
                            return window.getSelection().toString();
                        }
                    } catch (e) {
                    }
                } else if (document.selection && document.selection.type != "Control") {
                    // For IE
                    return document.selection.createRange().text;
                }
            }       
    
    

관련 자료

  • 이전 python - beautifulsoup으로 야후 수입 캘린더를 긁는 방법
  • 다음 내 코드에서 "파이썬에서 루프하는 동안"를 해결하는 방법