2016-12-15 1 views
1

입력 요소에서 onclick 이벤트를 수동으로 트리거하려고합니다. 나는 약간의 검색을했고 아래 코드를 썼다. reactjs에서 dom의 click 이벤트를 수동으로 트리거하는 방법

<input type="date" ref={datePicker => this.datePicker = datePicker}/> 
      <button 
        onClick={(e) => { 
         this.datePicker.click() 
        }}> 
      Select the data 
      </button> 

은 그 때 나는 또한 코드 아래 시도 : 위의 코드의

<input type="date" ref='datePicker'/> 
       <button 
         onClick={(e) => { 
          this.refs.datePicker.click() 
         }}> 
       Select the data 
       </button> 

없음 작동하지 않습니다. 버튼을 클릭해도 아무런 변화가 없습니다. 나는 데이터 피커 UI를 열 것을 기대한다. 함수로 호출하지 않고

+0

jQuery를 사용할 수 있습니까? –

+0

@Ro reactjs가 이것을 지원하면 내 응용 프로그램에 다른 종속성을 가져오고 싶지 않습니다. –

+0

@CodeBling datePicker는 태그에 정의되어 있습니다. 입력 태그에 의해 트리거 된 날짜 선택기를 보여주고 싶습니다. –

답변

1

둘 다 당신의 예를 시도하고 <input> 요소의 .click() 방법은 참으로 호출된다. 예상대로 작동하지 않는 이유는 클릭이 요소에 키보드 포커스 만 놓고 날짜 선택 도구를 클릭하지 않기 때문입니다. 프로그래밍 방식으로 날짜 선택 도구를 여는 것은 모든 브라우저에서 적어도 currently not possible입니다.

+0

날 위해 사용자 정의 할 수있는 방법이 있습니까? –

+0

http://stackoverflow.com/a/15531938/675721을 참조하십시오. 나는 당신이 사소한 조정을 할 수 있다고 생각하지만 실제로는 그렇지 않습니다. https://developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome#how_do_i_change_the_appearance_of_the_date_picker도 참조하십시오. –

0

시도 :

onClick={(e) => {this.datePicker.click}}>

+0

나는 그것이 작동하지 않습니다 시도했습니다 –

관련 문제