2013-06-19 4 views
0

구독 기능을 사용하여 입력이 변경 될 때 실행할 코드를 바인딩 할 수 있다는 것을 알고 있으며 valueUpdate 데이터 바인딩을 사용하여 변경 이벤트를 트리거하는 항목을 정의 할 수 있음을 알고 있습니다. . 그러나 '변경'유형의 valueUpdate를 실행하고 'afterkeydown', 'input'또는 'paste'유형 중 하나를 실행할 다른 코드를 실행할 코드를 바인딩하는 방법이 있습니까?변경 이벤트 유형에 따라 다른 녹아웃 이벤트 핸들러 바인딩

답변

0

물론입니다. 녹아웃에 바인딩 "이벤트는"이 같은 여러 이벤트 처리기를 바인딩 할 수 있습니다 :

<input type="text" data-bind="event: {keypress: onKeyPress, change: onChange}" /> 

은 넉 아웃은 기본적으로 자동 이벤트 버블 링을 중지 할 것,하지만 명심하십시오. 위의 예제에서 onKeyPress 핸들러는 키 누르기 이벤트가 브라우저에 의해 처리되는 것을 중지 시키므로 변경 이벤트가 발생하지 않습니다. 여러 이벤트를 바인딩하는 경우 브라우저에서 기본 이벤트 처리를 중지하려면 이벤트 처리기 이 아닌이 필요합니다. 이벤트 처리기에서 "true"를 반환하면됩니다.

여기에서 실제 코드를 볼 수 있습니다. http://jsfiddle.net/rrahlf/QEuQR/

관련 문제