Подтвердить что ты не робот

React mouseEvent не имеет offsetX/offsetY

Я пытаюсь получить позицию клика относительно элемента, но событие не имеет offsetX.

onClick(e) {
  console.log(e.offsetX) // returns undefined
  console.log(e.target.offsetX) // returns undefined
}

render() {
  return <img src='http://placehold.it/1000x500' onClick={this.onClick} />
}

Как я могу получить позицию щелчка в элементе?

4b9b3361

Ответ 1

О, ну, я вижу. Я получаю его от e.nativeEvent.offsetX. Правильно ли он подходит?

Ответ 2

Я обнаружил, что evt.nativeEvent.offsetX вызывал у меня проблемы с частой перепрошивкой моего компонента и, как ни странно, я не полностью отладил его, но переключился на использование

React.createRef или React.useRef в родительском контейнере, а затем с помощью event.clientX - ref.current.getBoundingClientRect(). Слева и обнаружил, что это работает лучше для меня