모든 텍스트 입력에서이 설정을 반복하는 대신? - 현재의 기본을 내 입력valueUpdate : 'afterkeydown'을 Knockout.js의 defaultUpdate로 설정할 수 있습니까?
<input type="text" name="email"data-bind="value: email, valueUpdate:'afterkeydown'" />
90 % 내가 'change'
이상이 선호 :
모든 텍스트 입력에서이 설정을 반복하는 대신? - 현재의 기본을 내 입력valueUpdate : 'afterkeydown'을 Knockout.js의 defaultUpdate로 설정할 수 있습니까?
<input type="text" name="email"data-bind="value: email, valueUpdate:'afterkeydown'" />
90 % 내가 'change'
이상이 선호 :
는 :
$('.yourClass').attr('data-bind', "value: email, valueUpdate:'afterkeydown'");
을 나는
이것은 옵션이지만, 보일러 플레이트 코드가 포함 된 것보다 - 여분의 클래스입니다. "valueUpdate : 'afterkeydown'"은 그 이상이 아니어도 더 많은 '의미'를 보여줄 수 있습니다. –
당신이 직접 모든 텍스트 입력의 기본 기능을 설정할 수 없습니다 도움이되기를 바랍니다. 당신이 대신 할 수있는 것은
다음 단지와 템플릿을 정의하면 별도의 HTML 요소
을 만드는 피하기 위해 컨테이너가 표기법을 사용하여 다음 단지 예를<!-- ko template:{name:'input-template', data: email}--><!--/ko-->
에 대한 그 템플릿 할 수있는 템플릿을 입력하고 그 모두를 만드는 것입니다 당신이 원하는대로 :
<script type="text/html" id="input-template">
<input type="text" name="$data" data-bind="value: $data, valueUpdate:'afterkeydown'"/>
</script>
기술적으로 이것은 작동하지만 일반적인 HTML과 비슷한 모양을 선호합니다. 당신의 대답을 주셔서 감사합니다 :) –
왜 내가 전통적인 HTML은 미적 이유 이외에 필요합니다 물어 봐도, 당신은 이미 녹아웃을 사용하는 것처럼, 템플릿과 containerless 표기법과 같은 것들이 진짜로 녹아웃의 힘을 많이 열 수 있습니다, 다른 개발자는 이미 학습 곡선을 얻게됩니다. – mikeswright49
그것은 실제로 미학에 관한 것입니다. 나는 물건의 질질 끄는쪽에 너무 많이 있을지 모르지만, 순간에 나는 input 요소 자체를 숨기는 위의 보일러 플레이트 "valueUpdate : afterkeydown"을 추가하는 것을 더 선호한다. 그것은 단지 나에게 더 많은 '의미'를 전달합니다. 개인 취향 : –
을 valueUpdate 기본 작품은, 당신의 유일한 옵션은 당신이 원하는 방식으로 작동하도록하기 위해 녹아웃 라이브러리 소스를 변경하는 것입니다 방법을 변경하는 녹아웃에는 옵션이 없기 때문에. 라이브러리를 업데이트 한 경우 또는 Knockout 개발자에게 default valueUpdate 이벤트를 변경할 수있는 구성 옵션을 추가하도록 요청할 수있는 경우이 변경 사항을 다시 작성해야합니다.
기존 값 bindingHandler를 대체하여 afterkeydown 바인딩을 추가 할 수 있습니다.
브릴리언트 솔루션보기 How can I get Knockout JS to data-bind on keypress instead of lost-focus?
어떤 방법을 시도 했습니까? – Jeroen
작년의 해답은 "당신은 할 수 없습니다, 여기에 몇 가지 해결 방법이 있습니다"라고되어 있습니다. 녹아웃은 지속적으로 개선되고 있으며,이 토론이 시작된 이래 주요 버전 번호가 변경되었습니다 (v2에서 v3). 이것을 아직 할 수있는 방법이 있습니까? – Josh