2016-04-06 47 views
1
için olay işleyici yöntemi

Kullanıcı, Backspace düğmesine bastığında bir olayı işlemeye çalışıyorum. Tepki: Backspace

Ben this gördüm ve ben sadece ben

console.log("Did u delete it? "+ e.keyCode);

kullanarak Geri tuşu kodları, tahmin ama e.keyCode değeri tanımlanmamıştır.

define(["react"], (React) => { 

    var TypingContainer = React.createClass({ 
    keypressed(e){ 

     console.log("Did u delete it"+ e.keyCode); 
    }, 

    handleChange: function(e) { 

     // if(e.keycode==8) 
      console.log("Did u delete it? "+ e.keyCode); 


    }, 

    render: function() { 
     return(
     <div> 

      <input 
       className="typing-container" 
       value={this.state.message} 
       onChange={this.handleChange} 
       onKeyPress={this.keypressed} 

      /> 

     </div> 
    ); 
    } 
    }) 
    return TypingContainer; 
}); 

Güncelleme:: hep sen silme eylemini yakalamak için onKeyDown olayı dinlemek zorunda 0.

+1

anahtar kodunu almak istiyorsanız muhtemelen farklı bir etkinliğe dinlemeliyiz. Https://facebook.github.io/react/docs/events.html#keyboard-events sayfasına bakın. –

+0

@FelixKling sorumu düzenledim –

cevap

6

olsun onKeyPress olayla Burada

kodudur. Örnek:

var InputDemo = React.createClass({ 

    getInitialState: function() { 
    return { 
     message: '' 
    }; 
    }, 
    onKeyDown: function(e) { 
    if (e.keyCode === 8) { 
    console.log('delete'); 
    } 
    }, 
    handleChange: function(e) { 
    this.setState({ 
     message: e.target.value 
    }); 
    }, 

    render: function() { 
    return <div> 
      <input 
       value={this.state.message} 
       onChange={this.handleChange} 
       onKeyDown={this.onKeyDown} 
      /> 
       </div>; 
    } 
}); 

Running keman: https://jsfiddle.net/7eu41pzz/1/