2016-10-27 2 views
0

저는 앵귤러 앱의 터치 입력 전용으로 구성된 JQuery + Bootstrap 키보드를 사용하고 있습니다. 마우스를 사용하여 키, 키보드 아무 것도 입력하지 않고 닫을 수 있습니다. 클릭 이벤트를 통해 닫히도록 작성되었습니다.) 제대로 바인더 제본되지 않습니다ng-model이 터치 이벤트로 입력 한 값을 바인드하지 못했습니다.

<input autocomplete="false" class="textInputSeeThrough keyboard" 
        ng-model="patientNIC" type="text" id="nic" 
        name="patientNICTxtbox" autofocus 
        placeholder="--- ENTER NIC NUMBER ---"> 

내가 다음 코드와 같은 NG 모델을 사용하여 내 컨트롤러에 바인더 제본되어 whcih 입력 상자에 뭔가를 입력 할 때 내 문제가

Mobile-first-Virtual-Keyboard-Plugin-With-jQuery-Bootstrap

. 하지만 일반 자바 스크립트를 사용하여 DOM을 탐색하고 값을 얻기 위해 $ scope를 사용하는 대신 컨트롤러에서 요소 값을 가져 오면 값을 올바르게 얻을 수 있습니다.

var val1 = $scope.patientNIC; // this doesn't work 
var val2 = document.getElementById("nic"); // this works 

alert(val1); 
alert(val2.value); 

분명히 키보드에는 문제가 없습니다. 각도 j는 터치 이벤트와 관련하여 알려진 문제가 있습니까? 나는 아무것도 찾을 수 없었다. 누군가 왜 이런 일이 일어 났는지 설명 할 수 있습니까? advace에 감사드립니다.

+0

당신은 plunker를 추가 할 수 있습니까?, – Sravan

+0

또는 jquery로 작업하는 곳의 최소한 코드 부분 –

+0

@Sravan 나는 plunker에서 시나리오를 재현하려고했지만 (나는 그것에 익숙하지 않다.) 나는 얻을 수 없다. 키보드 작동. 기본적으로 위에서 언급 한 코드 스 니펫을 각각 HTML과 AngularJS 파일에 사용합니다. – k9yosh

답변

0

에서

봐 JQuery와/자바 스크립트를 사용하여 입력 요소로 설정 값에 대해 걱정할 필요가 없습니다. 심지어 우리가/객체를 겨 개별적으로 입력 트리거 값을 다시 할당 할 필요가 없습니다 귀하의 HTML 블록 /의 JS (JQuery와)

!function (n, t) { "use strict"; var r = n.fn.val; n.fn.val = function (n) { if (!arguments.length) return r.call(this); var e = r.call(this, n); return t.element(this[0]).triggerHandler("input"), e } }(window.jQuery, window.angular); 

에 다음 스크립트를 붙여주세요.

건배!