一年好景君须记,最是橙黄橘绿时。这篇文章主要讲述keyPress事件未在Android手机中触发相关的知识,希望能为你提供帮助。
我使用backbone,marionette
作为我的Application.I使用相同的代码为desktop and mobile
,但keypress
不在mobile
工作。我做了Jsfiddle测试。
如果你在mobile
事件中打开此链接未触发,如果你在desktop
中打开它就会触发。如何解决这个问题。
谁能帮我。
谢谢。
答案Chrome移动版暂时不支持正确的按键事件。这有一个长期的错误:
https://code.google.com/p/chromium/issues/detail?id=118639
我认为它应该在第38版修复。
另一答案我将在输入框中建议两个事件。
这将适用于桌面webbrowser。
1)onkeypress = return isNumberKey(event);
function isNumberKey(e)
{
var evt = e || window.event;
if(evt)
{
var charCode = evt.keyCode || evt.which;
}
else
{
return true;
}if((charCode >
47 &
&
charCode <
58) || charCode == 9 || charCode == 8 || charCode ==46 || charCode ==37 || charCode==39)
{
return true;
}return false;
}
这适用于移动设备
2)
onkeyup="numberMobile(event);
"
function numberMobile(e){
e.target.value = https://www.songbingjia.com/android/e.target.value.replace(/[^d]/g,'');
return false;
}
在输入框中应用这两个事件它将起作用。唯一的缺点是,它使它变慢。但是现在我们必须忍受它。
此解决方案存在一个问题。左侧导航无效。我将尽快更新更合适的解决方案。
另一答案在browserstack上测试。似乎对我有用。这是你的要点的链接:
http://www.browserstack.com/start#os=android& os_version=4.1& device=Samsung+Galaxy+S+III& zoom_to_fit=true& full_screen=true& url=http%3A%2F%2Fjsfiddle.net%2F33Snz%2F3%2Fembedded%2Fresult%2F& speed=1& start=true
你能知道你测试的具体android设备和浏览器吗?
另一答案最后我发现了一个问题,但它在opera中不起作用。而不是编写数字字段的代码。我只是在html文件中的输入字段中添加了一个属性type ='number'。现在只有数字小键盘即将到来。所以它满足我的要求。这是JsFiddle
HTML代码:
<
input type='number'/>
另一答案【keyPress事件未在Android手机中触发】似乎
keypress
事件已被弃用(请参阅https://developer.mozilla.org/en-US/docs/Web/Events/keypress),现在最好在所有浏览器支持之前使用keydown
事件。推荐阅读
- Android上的函数图形库
- url编码okhttp3 android删除%20
- 在create-react-app中调试es6
- 如何在Android上导出Highstock / Highcharts图表()
- Android Studio中未生成MainActivityBinding文件
- ClassNotFoundException(没有找到类“android.databinding.DataBinderMapper”)
- 声卡驱动不了!装好但不发声,或装驱动过程中
- 教你为啥开机必须按F1才能进入系统
- 为啥网上邻居别的电脑访问不到我的电脑?