Javascript输入键按下的事件替代移动网站
Javascript enter key pressed event alternative for mobile site
我有一个快速反馈小部件在我的网站,只有一个文本框。当用户按下回车键时,使用ajax自动发送反馈。但这并不适用于android、j2me等移动设备。有没有其他方法可以同时适用于桌面和移动设备?添加提交按钮对我来说是不可接受的。
我刚刚在android上检查过,当你输入一些东西并按下"Go"(输入alternative?)它会触发一个事件,键代码实际上是13,因此与桌面键盘上的enter相同。
编辑:我建议调试代码并检查提交是否实际触发,但也许关键代码并不总是13?只是猜测. .
Edit2:
在您的移动设备上测试此代码。当我按下"Go"时,输入值变为"sent!",这证明它有效。
为什么不将onblur
与回车键结合使用?如果你能按回车键,它就会正常工作。如果不能,它们就会留下输入,然后onblur
就会做功。
我把它包装在一个形式添加onsubmit
然后preventDefault
。(实际上是Vue中的@submit.prevent
)
实际上不需要输入按钮,只需要表单和输入。
form.field.m-sm.px-md(@submit.prevent="onSearch")
.control.has-icons-right
input.input.is-rounded(type="search" placeholder="Search" v-model="q")
span.icon.is-right
fa(icon="search")
我得到了一个确切的答案…您需要识别哪个是按下按钮的关键代码。通常是13。要在移动设备上激活此键,您需要将type="submit"
添加到该按钮上。
var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("myBtn").click();
}
});
<!DOCTYPE html>
<html>
<body>
<h3>Trigger Button Click on Enter</h3>
<p>Press the "Enter" key inside the input field to trigger the button.</p>
<input id="myInput" value="Some text..">
<button id="myBtn" type="submit" onclick="javascript:alert('Hello World!')">Button</button>
</body>
</html>
- 示例:w3schools 关于stackoverflow的示例
请记住,您需要将type="submit"
添加到该按钮…!否则它将无法在移动设备上正常工作…
只需将e.code=== "enter"
更改为e.keyCode===13
**。它适用于桌面和移动设备。"Go"移动设备上的键的keyCode
与"Enter"关键。在响应模式(移动)下检查console.log()
中的e
对象,您将了解差异。
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- FabricJs-限制主对象内添加对象的移动区域
- 如何从画布上的某个移动事件中获取X和Y
- 触摸移动时切换到新元素
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 停止jQuery UI滑块移动超过给定值
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- JQuery移动动态分区页面
- XMLHttpRequest在移动设备上的chrome上不起作用
- 如何使bxslider仅在移动视图中处于活动状态
- css停止图像在滚动中移动
- jquery移动对齐按钮取决于内容大小
- 背景图像顶部的滚动图像不移动
- 如何在react js中移动第二个组件
- 用于在移动网站上向移动应用程序显示横幅的JavaScript库
- 如何创建一个“;“桌面版”;移动网站上的链接,而不重定向到移动网站