2015-01-23 37 views
10

Tôi là người mới sử dụng React.js. Tôi đang cố gắng kích hoạt sự kiện nhấn phím cho div văn bản.Cách kích hoạt sự kiện nhấn phím trong React.js

đây là mã hộp văn bản mà tôi muốn thực thi kích hoạt bấm phím.

<div id="test23" contenteditable="true" class="input" placeholder="type a message" data-reactid="137">Hii...</div> 

và phương pháp bấm phím là

onKeyPress: function(e) { 
    return "Enter" == e.key ? "Enter key event triggered" : void 0) 
} 

Tôi đã thử nó với jquery nhưng tôi không thể kích hoạt nó.

đây là mã Phản ứng mà tôi đã thử nhưng không hoạt động.

var event = new Event('keypress', { 
'keyCode' : 13, 
'which' : 13, 
'key' : 'Enter' 
}); 
var node = document.getElementById('test23'); 
node.dispatchEvent(event); 

Cảm ơn :)

+0

Đối với những gì nó có giá trị tôi đã công bố một lib để làm cho sự kiện KeyDown xử lý dễ dàng hơn trong phản ứng: https://github.com/jedverity/react-keydown/ – glortho

Trả lời

6

tôi đã không kiểm tra mã này, nhưng về cơ bản onKeyDown nên được xử lý như thế này. Hi vọng điêu nay co ich.

class TextInput extends Component { 

      constructor(props) { 
       super(props) 
       this.state = { value: 'hi'} 
      } 

      onKeyPress: event => { 
       if(event.key == 'Enter') { 
        this.setState({ value: event.target.value }) 
       } 
      } 

      render() { 

       return(
         <input type="text" onKeyPress={this.onKeyPress} />      
       ); 
      } 
     }); 
+1

Cảm ơn :) nhưng Tôi đã thực hiện phương thức xử lý sự kiện keypress và keydown. nhưng tôi muốn thực hiện nó bằng cách sử dụng kịch bản với ra cách nhấn phím bất kỳ. kích hoạt sự kiện theo cách thủ công. Có cách nào để làm điều đó ? – Piyush

+2

bạn muốn kích hoạt sự kiện keydown mà không cần nhấn phím nào? – Pietro

+0

Có, Ví dụ như trong Jquery chúng ta làm như sau: 'e = $ .Event ('keyup'); ' ' e.keyCode = 13; // enter' '$ ('đầu vào'). trigger (e);' – Piyush

-1

Kiểm tra util Simulate được thiết kế để kích hoạt sự kiện trong khi kiểm tra đơn vị.

Các vấn đề liên quan