我在项目中面临一个奇怪的问题。我使用KnockoutJS来创建我的UI。我正在使用Android Cordova的最新版本。我在KnockoutJS中定义了一个HTML输入类型number
<input maxlength="3" type="number" data-bind="maxLength: maxLengthSeats" placeholder="seats" />
然而,当我在Android设备上运行我的应用程序时,数字小键盘会打开,但是当我输入8或9时,我的应用程序崩溃了。没有错误或日志。该应用程序只是停在一个白色屏幕,我看到我的设备的主屏幕。
为什么会出现问题?我尝试创建一个全新的Cordova项目,并添加了一个正常工作的输入数字。那么Knockout的问题是什么?
将Knockout与cordova结合使用时,有没有人遇到过这样的问题?
//truncate value extender
ko.extenders.truncateValue = function(target, option) {
target.subscribe(function (newValue) {
if(newValue.length > option){
target(newValue.substring(0,option));
}
});
return target;
};
//maximum length extender
ko.bindingHandlers.maxLength = {
init: function (element, valueAccessor, allBindingsAccessor,
viewModel) {
'use strict';
var maxlength = element.getAttribute("maxlength");
valueAccessor().extend({truncateValue: maxlength })
ko.bindingHandlers.value.init(element, valueAccessor,
allBindingsAccessor, viewModel);
}
};