2012-08-12 6 views
4

내가 어떤 이유로 IE8에 업데이트하지 않습니다이 정말 간단 관찰 요소가 IE 업데이트되지 않습니다녹아웃 관찰 요소가 제대로

<body> 
<form data-bind="submit: show"> 
<input type="text" data-bind="value: someText" /> 
</form> 
<script type="text/javascript"> 

    var ViewModel = function() { 
     var self = this; 
     self.someText = ko.observable('initial value'); 

     self.show = function() { 
      alert(self.someText()); 
      self.someText(''); 
     } 
    } 

    ko.applyBindings(new ViewModel()); 
</script> 
</body> 

그래서, 텍스트 상자에 inputed 값이 표시되어야한다 . 모질라, 오페라, 크롬의 모든 것. IE는 변경 사항을 보지 않으며 항상 빈 문자열로 경고합니다. 왜?
Here you can run this piece of code

+1

처럼 완전히 다른 브라우저에 비해 IE에 대한 행동의 차이를 이해하지 보이지만 제출 이벤트가 발생한다 _before_ 변경 이벤트가 트리거되지 않습니다 나타납니다. 넉 아웃은 뷰 모델을 최신으로 유지하기 위해 이러한 이벤트를 사용합니다. 이 문제를 해결하려면 코드를 조정해야 할 수도 있습니다. –

답변

9

죄송합니다. 문제는 다른 사건 이후에 관찰 가능한 요소가 업데이트되어야합니다. IE에 대한 약간의 수정이

<input type="text" data-bind="value: someText, valueUpdate: 'keydown'" /> 
+0

나는 거의 광란했다. 위의 코드를 사용하면서 어딘가에서 일했습니다. 코드를 실행 한 후에도 왜 여기 없었는지 알 수 있습니다 ... – frostymarvelous

관련 문제