어떻게 검출하는 스크롤 마우스 버튼을 사용하여 이벤트 ReactJS?

0

질문

난 이해하는 데 문제가를 감지하는 방법"mouse3"/마우스 스크롤 버튼을 아래로 이벤트를 사용하여 반응의 onMouseDown 이벤트입니다.

내가 사용하여 onMouseDown 에 어떤 요소:

  <Menu.Item
    icon={<DashboardOutlined style={{ fontSize: '21px' }} />}
    onClick={onClickDash}
    onMouseDown={handleEvent}
  >
    Dashboard
  </Menu.Item>

다음 handleEvent:

const handleEvent = (event) => {
  if (event.type === 'mousedown') {
    console.log('MOUSE DOWN', event);
  } else {
    console.log('MOUSE UP', event);
  }
};

문제입니다,나는 방법을 찾을 수 없습의 검출 마우스 스크롤 버튼을 누니다. 어떻게 감지할 수 있습니? 공식 mozilla 문서를 제공하지 않 예 중 하나.

events javascript mouse reactjs
2021-11-23 19:42:22
1

최고의 응답

-2

책임의 한계- 글을 쓰는 시간이었만 대상으로 Chrome 브라우저입니다.

사용자가 스크롤 DOM 스크롤 이벤트가 발생하는 이벤트에 내장으로 브라우저 기본적으로 합니다. 반응은 자신의 방법, onScroll라고 할 수있는 모든 구성 요소에 대한 스크롤 이벤트가 발생합니다. 를 사용하여 이 onScroll 방법을 우리는 함수를 호출할 수 있습의 결과로 사용자가 스크롤합니다.

예;

<SomeComponent onScroll={someMeothod} />

으로 어떤 DOM 이벤트,이벤트 객체가 만든 속성을 제공할 수 있는 이벤트에 대한 유용한 정보와 요소를 말한 이벤트와 관련이 너무입니다. 스크롤 이벤트가 발생한 모든 픽셀을 사용자가 스크롤됩니다. 이 경우에,우리는 우려와 함께 식별할 때 사용자가 스크롤하의 끝 부모를 포함하는 요소의 콘텐츠입니다.

계산 할 때의 사용자가 스크롤하의 컨테이너

추가 onScroll 요소 방법을 포함하는 콘텐츠는 함수를 호출 구성 요소에 대 클래스:

<div className="content-container" onScroll={this.handleScroll}>
  // Your content
</div>

을 만들 handleScroll 기능을 처리하는 스크롤 이벤트:

class MyComponent extends React.Component {
  handleScroll = e => {
    let element = e.target
    if (element.scrollHeight - element.scrollTop === element.clientHeight) {
      // do something at end of scroll
    }
  }
  render() {
    return (
      <div className="content-container" onScroll={this.handleScroll}>
        // Your content
      </div>
    )
  }
}

Let's break down 에서 무슨 일이 일어나 handleScroll 는 것을 확인 하는 방법을 조금 더 명확한...

e 이에 해당하는 이벤트다. 그것은 객체에 의해 만들어진 브라우저와 관련된 특성 스크롤 이벤트과 노력하고 있습니다.

자 요=e.대상 이 우리가 할 수 있습을 찾기 위해 요소를 전달되는 이벤트를 사용하여(e.대상)및 할당하는 변수는 우리가 사용할 수 있습니다 나머지 부분에서의 코드입니다.

이제 우리는(코드)알고있는 어떤 요소가 스크롤하고 우리는 할당을 변수에 우리의 방법을 범위에 액세스할 수 있습의 속성하는 요소에 의해 주어진 브라우저를 계산하는 경우에는 사용자가 스크롤됩니다.

요소입니다.scrollHeight- 이것은 높이를 픽셀 단위 요소의 콘텐츠의 내용을 포함하여 화면에 보이지 않으로 인해 css 오버플로우가 발생합니다.

요소입니다.scrollTop- 의 높이를 픽셀 단위는 요소의 콘텐츠 스크롤니다.

요소입니다.clientHeight- 의 높이를 픽셀 단위의 스크롤의 일부 요소입니다.

를 사용하는 위성을 계산할 수 있습니다 경우에는 사용자가 스크롤하의 맨 아래 요소를 비교하여 부정적인 합의 scrollHeightscrollTopclientHeight. 만약 그들이 동일한 사용자가 스크롤하의 맨 아래 요소입니다. 에 의해 감싸는 이에 if 문 우리할 수 있도록 하는 우리의 기능에 있는 경우에 문의 범위를 실행할 때 사용자가 스크롤하의 끝 div 와 우리의 if 조건을 만났다.

2021-11-23 20:22:07

이것은 무엇을 요청 했습니다,나는"에 대한 질문 onMouseDown"이벤트에 대한 스크롤 마우스 단추지 휠 스크롤 이벤트입니다.
Ericson Willians

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................