산업용 설비의 실시간 시각화를 위해 SignalR과 함께 ASP.NET MVC4 프로젝트에서 Knockout.js를 사용하고 있습니다. Google은 범위 또는 텍스트 상자가 뷰 모델에 데이터 바인딩되는 많은 페이지를 보유하고 있습니다. 2 ~ 10 초마다 서버에서 클라이언트 브라우저로 SignalR을 통해 새 값이 전송되고 뷰 모델의 값 (따라서 span, div 또는 텍스트 상자 입력의 텍스트)이 업데이트됩니다. 이것은 아주 잘 작동합니다. 내가 바꾸려고하는 것은 값이 변경 될 때마다 페이지에서 일종의 시각적 알림 (예 : jQuery - 값을 표시하는 DOM 요소 강조 표시)입니다.Knockout.js : 코드에서 값 변경시 텍스트 상자 강조 표시
knockout.js 이벤트 바인딩이 필요한 것 같지만, 볼 수있는 한 관련 뷰 모델 항목을 JS 함수에 전달할 수 있습니다. DOM 요소는 필요하지 않습니다. 가장 밝은 부분. 나는 그 생각을 알기를 바랍니다.
그래서 내가 필요로하는 것은 텍스트 입력의 값이 수동 사용자 입력이 아닌 "코드 숨김"에서 변경 될 때 함수를 트리거하는 방법입니다. 이 함수는 추가 처리를 위해 관련 DOM 요소를 제공해야합니다. 지금까지
내 코드 :
<table class="StatusRowList">
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
</tr>
</thead>
<tbody data-bind="foreach: Items">
<tr>
<td><a data-bind="attr: { href: '/Archive/Show/?StationId=' + StationId() + '&DataPointId=' + DpId() }"><span data-bind="text: Text"></span></a></td>
<td>
<span data-bind="text: UnitPrefix"></span>
<input data-bind="value: Value" />
<span data-bind="text: UnitSuffix"></span>
</td>
</tr>
</tbody>
</table>
관심의 라인이 두 스팬 사이의 "입력"입니다. 그 도움에 감사드립니다!