码迷,mamicode.com
首页 > 移动开发 > 详细

knockoutJs在移动设备上有时无法更新控件值

时间:2015-05-01 22:30:45      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

最近在用cordova(phonegap)写一个移动app,表单比较复杂,用了knockoutJs作为前端的MVVM框架进行数据绑定。

但是发现有时候(其实是每次)如果最后在input中编辑一个值,然后直接点保存按钮(用JQM的tap事件,之前直接用touchend也一样),会发现最后焦点所在的这个控件的值没有更新。

猜测是因为KO的value绑定默认是在控件触发change事件时更新view model中的值,但是不知道为什么点击保存按钮并没有触发最后这个input的change事件。

解决方法也很简单,在保存按钮的响应事件中,手动触发一下当前控件的change:

   1: if (document.activeElement) {
   2:   $(document.activeElement).trigger("change");
   3: }

 

这个问题在PC的浏览器中并不存在,所以用Ripple模拟器的时候没有发现,但是在iOS和android上都有这个问题,不知道为啥……

knockoutJs在移动设备上有时无法更新控件值

标签:

原文地址:http://www.cnblogs.com/erucy/p/4471184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!