2015-07-20 17 views
24

Öğeye göre tıklamanın konumunu almayı deneyin, ancak olayın offsetX'i yok.React'ın mouseEvent öğesi ofsetX/offsetY'ye sahip değil

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} /> 
} 

Tıklatma öğesi konumunu nasıl alabilirim?

cevap

44

Oh, peki, anlıyorum. e.nativeEvent.offsetX'dan alıyorum. Doğru yaklaşım mı?

+3

Evet, bu doğru bir yaklaşımdır. Tepki tarafından döndürülen olay nesnesi, normal JavaScript olay nesnesini saran ve bazı çapraz tarayıcı kolaylıkları içeren bir tepki SenteticEvent'tir. Ancak, bulduğunuz gibi, yerel etkinliğe hala e.nativeEvent'te erişilebilir. –

+0

, çok teşekkürler –

+0

@MikeDriver sadece şunu yapın: 'onClick = {(e) => this.onClick (e, e.nativeEvent.offsetX)}' –

İlgili konular