骨干视图事件在Android Mobile中不起作用

时间:2014-03-18 06:28:07

标签: javascript android mobile backbone.js marionette

这是我第一次使用基于移动设备的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

我面临的问题:

  1. textField允许所有值(如字符,数字......)

  2. 我无法删除最后一个字符。

  3. 如果mobile事件与desktop,tablet事件相比有所不同,您是否可以建议我参考的任何教程。

    我用谷歌搜索,但我没有找到任何教程。

    为了进行测试,我制作了jsFiddle。如果您在desktop or tablet中打开此链接,则按照规范运行正常。但它在mobile中无效。它允许{{1} }也在characters

    感谢。

2 个答案:

答案 0 :(得分:0)

在您确认输入之前,似乎未在Android中触发按键事件。您可以使用keyup事件来完成任务。

对于第二个问题,应该只是因为没有按预期正确触发事件。

答案 1 :(得分:0)

最后我发现了一个问题,但它不能在opera中工作。而不是编写数字字段的代码。我只是在html文件的输入字段中添加了一个属性type='number'。现在只有numeric键盘即将到来。所以它满足了我的要求。