这是我第一次使用基于移动设备的Application.We完成了一个应用程序,它支持desktop and tablet
。如果你在Mobile
中打开相同的应用程序,它就不能正常显示。所以我们决定改变在移动设备上显示应用程序的方式与桌面和平板电脑相比。根据规格我的HTML
人制作了移动页面。
在骨干方面,我不需要更改model
个事件。我在视图事件中遇到问题,尤其是keyboard
个事件。我在desktop and tablet
编写的相同代码正常工作但它不适用于mobile
。
代码:
事件:{“keypress input [type = text]”:“typeOfField”},
typeOfField:function(){
//finding Ascii value of the press key
var keyAsciiValue=event.keyCode||event.which;
//declaring dummy variable for passing result
var result=false;
if ((keyAsciiValue>=48&&keyAsciiValue<=57)||(keyAsciiValue===46)||(keyAsciiValue===45)){
//text-field allows any numbers like 23.8,30...
result=true;
}else{
result=false;
}
return result;
}
代码说明:
如果用户按任意键,则获取相应的ASCII
值并检查该键是字符还是数字。如果是数字,则仅返回true
,否则返回false
。我的申请textFields
仅允许numbers
。
我面临的问题:
textField
允许所有值(如字符,数字......)
我无法删除最后一个字符。
如果mobile
事件与desktop,tablet
事件相比有所不同,您是否可以建议我参考的任何教程。
我用谷歌搜索,但我没有找到任何教程。
为了进行测试,我制作了jsFiddle。如果您在desktop or tablet
中打开此链接,则按照规范运行正常。但它在mobile
中无效。它允许{{1} }也在characters
。
感谢。
答案 0 :(得分:0)
在您确认输入之前,似乎未在Android中触发按键事件。您可以使用keyup事件来完成任务。
对于第二个问题,应该只是因为没有按预期正确触发事件。
答案 1 :(得分:0)
最后我发现了一个问题,但它不能在opera
中工作。而不是编写数字字段的代码。我只是在html文件的输入字段中添加了一个属性type='number'
。现在只有numeric
键盘即将到来。所以它满足了我的要求。