2013-05-15 1 views
0

모든 텍스트 입력에서이 설정을 반복하는 대신? - 현재의 기본을 내 입력valueUpdate : 'afterkeydown'을 Knockout.js의 defaultUpdate로 설정할 수 있습니까?

<input type="text" name="email"data-bind="value: email, valueUpdate:'afterkeydown'" /> 

90 % 내가 'change' 이상이 선호 :

나는 이것에 대해 이야기하고, 명확해야합니다. 당신은 클래스 "표시"대상 입력이, 당신이 시도 할 수 할 수있는 경우

+0

어떤 방법을 시도 했습니까? – Jeroen

+0

작년의 해답은 "당신은 할 수 없습니다, 여기에 몇 가지 해결 방법이 있습니다"라고되어 있습니다. 녹아웃은 지속적으로 개선되고 있으며,이 토론이 시작된 이래 주요 버전 번호가 변경되었습니다 (v2에서 v3). 이것을 아직 할 수있는 방법이 있습니까? – Josh

답변

0

는 :

$('.yourClass').attr('data-bind', "value: email, valueUpdate:'afterkeydown'"); 

을 나는

+0

이것은 옵션이지만, 보일러 플레이트 코드가 포함 된 것보다 - 여분의 클래스입니다. "valueUpdate : 'afterkeydown'"은 그 이상이 아니어도 더 많은 '의미'를 보여줄 수 있습니다. –

1

당신이 직접 모든 텍스트 입력의 기본 기능을 설정할 수 없습니다 도움이되기를 바랍니다. 당신이 대신 할 수있는 것은

다음 단지와 템플릿을 정의하면 별도의 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> 
+0

기술적으로 이것은 작동하지만 일반적인 HTML과 비슷한 모양을 선호합니다. 당신의 대답을 주셔서 감사합니다 :) –

+0

왜 내가 전통적인 HTML은 미적 이유 이외에 필요합니다 물어 봐도, 당신은 이미 녹아웃을 사용하는 것처럼, 템플릿과 containerless 표기법과 같은 것들이 진짜로 녹아웃의 힘을 많이 열 수 있습니다, 다른 개발자는 이미 학습 곡선을 얻게됩니다. – mikeswright49

+0

그것은 실제로 미학에 관한 것입니다. 나는 물건의 질질 끄는쪽에 너무 많이 있을지 모르지만, 순간에 나는 input 요소 자체를 숨기는 위의 보일러 플레이트 "valueUpdate : afterkeydown"을 추가하는 것을 더 선호한다. 그것은 단지 나에게 더 많은 '의미'를 전달합니다. 개인 취향 : –

0

을 valueUpdate 기본 작품은, 당신의 유일한 옵션은 당신이 원하는 방식으로 작동하도록하기 위해 녹아웃 라이브러리 소스를 변경하는 것입니다 방법을 변경하는 녹아웃에는 옵션이 없기 때문에. 라이브러리를 업데이트 한 경우 또는 Knockout 개발자에게 default valueUpdate 이벤트를 변경할 수있는 구성 옵션을 추가하도록 요청할 수있는 경우이 변경 사항을 다시 작성해야합니다.