본문 바로가기

개발/AngularJS

한글이나 특수문자의 2way binding

reference

https://github.com/angular/angular.js/issues/6656

http://118k.tistory.com/135


IE11에서 한글 2 way binding 안됨.

input에서 한글 입력해도 keyword ng-model이 제대로 변하지 않음


 <input type="text" ng-model="keyword">




composed character인 한글, 일본어, 한자는 composition event를 발생시킨다.

compositionstart

compositionupdate

compositionend

가 있는데 input 에서 blur나 focuseout 할 때 위에서 compositionend가 먹질 않음.



아래와 같이 krInput이라는 디렉티브를 만들어주고 

  function krInput() {
    'ngInject';

    return {
      priority : 2,
      restrict : 'A',
      compile : function(element) {
        element.on('compositionstart', function(e) {
          e.stopImmediatePropagation();
        });
      }
    };
  }

  export default {
    name: 'krInput',
    fn: krInput
  }; 


아래와 같이 사용한다.

<input type="text" ng-model="keyword" kr-input>


'개발 > AngularJS' 카테고리의 다른 글

디렉티브의 scope  (0) 2017.03.03
[AngularJS] 공부 시작  (0) 2015.04.21