2017-07-20 13 views
5

Nasıl tepkileri fare tekerleği olayları almak için gidiyorsun?Fare tekerleği olaylar Reactjs içinde

denedim onWheel

render: function() { 
    return <div onWheel = {this.wheel} > 
     < /div>; 
    }, 

ve ben

render: function() { 
    return <div onScroll = {this.wheel} > 
     < /div>; 
    }, 

onScroll çalıştık Ama bu olayların hiçbiri toplanırlar.

https://jsfiddle.net/812jnppf/2/

+0

Teorik olarak onWheel sentetik olayı kullanmak istediğiniz şeydir, çıplak kemikler oluşturmak için tepki-uygulama uygulaması var ve onWheel benim için iyi çalışıyor. Jsfiddle'ınızı tekerlek olayları için yapamıyorum, ancak tıklayın olayları sorun değil: https://jsfiddle.net/812jnppf/8/ –

cevap

3

İlk olarak, div, 0 yüksekliğidir. Bunu bir sınıf olarak (ve bir es6 tepki bileşenini değil) bağlamak zorunda değilsiniz. Sadece onWheel olayla ilgili parametre olarak olayla işleve çağrı yapın:

Elbette

https://jsfiddle.net/812jnppf/9/

render: function() { 

    return <div style={{height:300, width:300}} onWheel = {(e) => this.wheel(e)} >  < /div>; 
}, 

, bir var olan veya css içinde div stil kod temizlemek zorunda.

DÜZENLEME: OnWheel'i açıp onCcroll'u açmam (witch mevcut değil mi? Bilmeniz durumunda onaylayın). Bileşeninize kaydırma olayı ekleme hakkında bir SO mesajı gördüm: https://stackoverflow.com/a/29726000/4099279

+1

Tabii ki ahmak aptalca. Yanlış konteynırdaydı. Bir sonraki sorum, y = 100 y = -100 olaylarını nasıl yorumlayacağınız ve yakınlaştırma efekti elde etmenin nasıl olacağıdır. –

1

Bind geri arama this için: Aşağıdaki keman bakın bunu kaydırmak kalmamak

render: function() { 
    return <div onWheel = {this.wheel.bind(this)} > 
     < /div>; 
} 
+0

işe yaramadı. Https://jsfiddle.net/812jnppf/7/ –

İlgili konular