diff --git a/src/ResizableTextArea.tsx b/src/ResizableTextArea.tsx index 595f455..7602da0 100644 --- a/src/ResizableTextArea.tsx +++ b/src/ResizableTextArea.tsx @@ -1,10 +1,10 @@ -import * as React from 'react'; +import classNames from 'classnames'; import ResizeObserver from 'rc-resize-observer'; import omit from 'rc-util/lib/omit'; -import classNames from 'classnames'; -import calculateNodeHeight from './calculateNodeHeight'; -import type { TextAreaProps } from '.'; +import * as React from 'react'; import shallowEqual from 'shallowequal'; +import type { TextAreaProps } from '.'; +import calculateNodeHeight from './calculateNodeHeight'; // eslint-disable-next-line @typescript-eslint/naming-convention enum RESIZE_STATUS { @@ -109,7 +109,10 @@ class ResizableTextArea extends React.Component { // https://github.com/ant-design/ant-design/issues/21870 fixFirefoxAutoScroll() { try { - if (document.activeElement === this.textArea) { + if ( + window.hasOwnProperty('mozInnerScreenX') && + document.activeElement === this.textArea + ) { const currentStart = this.textArea.selectionStart; const currentEnd = this.textArea.selectionEnd; this.textArea.setSelectionRange(currentStart, currentEnd); diff --git a/tests/index.spec.js b/tests/index.spec.js index 3fd5035..4bbc99e 100644 --- a/tests/index.spec.js +++ b/tests/index.spec.js @@ -1,10 +1,9 @@ -import React from 'react'; import { mount } from 'enzyme'; import TextArea from '../src'; -import { focusTest, sleep } from './utils'; import calculateNodeHeight, { calculateNodeStyling, } from '../src/calculateNodeHeight'; +import { focusTest, sleep } from './utils'; focusTest(TextArea); @@ -241,6 +240,7 @@ describe('TextArea', () => { }); it('scroll to bottom when autoSize', async () => { + window.mozInnerScreenX = 0; const wrapper = mount(