Javascript为移动网站输入密钥按下事件替代方案

时间:2013-05-01 11:28:19

标签: javascript ajax forms events mobile

我的网站中有一个快速反馈小部件,它只有一个文本框。当用户按下回车键时,反馈将自动使用ajax发送。但这在android,j2me等移动设备中不起作用。有没有适用于桌面和移动设备的替代方案?我不接受添加提交按钮。

4 个答案:

答案 0 :(得分:6)

我刚刚检查了android,当你输入内容并按“Go”(输入替代?)时它会触发一个事件,而密钥代码实际上是13,所以与桌面键盘上的Enter相同。

编辑:

我建议调试代码并检查是否实际触发了提交但是密钥代码可能不总是13?只是猜猜..

EDIT2:

在您的手机上测试this code。当我按“Go”时,输入值变为“sent!”证明它有效。

答案 1 :(得分:2)

为什么不将onblur与enter键结合使用?如果可以按Enter键,它将按原样工作。如果一个人不能,他们只会留下输入,然后onblur将会起作用。

答案 2 :(得分:0)

我通过包装形式先添加 <script> function myFunction() { var div = document.createElement('canvas'); div.innerHTML = document.getElementById('myChart').innerHTML; document.body.appendChild(div); var ctx = document.getElementById("myChart").getContext("2d"); var myChart = new Chart(ctx, { type: "bar", data: { labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], datasets: [{ data: [1,2,3,4,5,6,7,8,9,10,11,12], backgroundColor: "rgba(255, 99, 132, 0.2)", borderWidth: 1 }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: true } }] } } }); } </script> 然后添加onsubmit。 (实际上是Vue中的preventDefault。)

并不需要输入按钮,只需要输入表单即可。

@submit.prevent

答案 3 :(得分:0)

我得到了一个确切的答案……您需要识别按下按钮的键码。通常是 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>

  1. w3schools 上的示例
  2. stackoverflow 上的示例

请记住,您需要将 type="submit" 添加到该按钮...!否则它将无法在移动设备上正常工作...

相关问题