You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript或jQuery拦截安卓数字软键盘「Go」按钮触发Web应用AJAX提交

解决方案

安卓软键盘的「Go」按钮触发逻辑和物理键盘回车键完全一致,可通过以下两种方案实现点击Go按钮触发提交,两种方案均可兼容绝大多数安卓机型:

方案1:直接监听输入框回车事件

直接给手机号输入框绑定按键事件,监听到对应按键时主动触发已有的Share按钮点击逻辑即可,无需修改原有HTML结构:

$('#shareNumber').on('keydown', function(e) {
    // keyCode=13对应物理回车键、安卓软键盘Go按钮
    if (e.keyCode === 13) {
        // 阻止默认行为,避免软键盘异常收起或页面跳转
        e.preventDefault();
        // 复用已有提交逻辑,主动触发Share按钮点击
        $('#sendShare').trigger('click');
    }
});

方案2:包裹为原生Form表单(兼容性更强)

将输入区域包裹在原生form标签内,软键盘的Go按钮默认会触发form的submit事件,该方案同时兼容iOS软键盘的「完成/前往」按钮,适配性更广:

修改后的HTML代码

<form id="shareForm">
  <label>Recipient Phone Number<br>
  <small>Numbers only.  Enter country code for international.</small>
  <input type="number" step='1' id="shareNumber"></label>
  <div id="sendShare">Share</div>
</form>

配套JS代码

// 抽离公共提交逻辑,避免代码重复
function submitShare() {
    var phoneNumber = $('#shareNumber').val();
    $.ajax({
        url: url,
        type: 'POST',
        data: {
            phoneNumber: phoneNumber
        },
        success: function(data) {
            // 原有业务逻辑
        }
    });
}

// 原有的点击Share按钮触发逻辑
$('#container').on('click','#sendShare',function(event){
    // 注意原有代码这里漏了括号,已修正
    event.preventDefault();
    submitShare();
    return false;
});

// 监听form提交事件,对应软键盘Go按钮触发场景
$('#shareForm').on('submit', function(e) {
    e.preventDefault();
    submitShare();
    return false;
});

额外注意

你原有代码里的event.preventDefault;漏写了括号,正确写法为event.preventDefault();,否则阻止默认行为的逻辑不会生效。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 01:39:04