V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon
V2EX  ›  程序员

网页里有办法区分输入法的换行和发送按钮事件吗

  •  1
     
  •   rizon ·
    othorizon · 1 天前 · 1678 次点击

    像微信输入法等手机输入法,是怎么处理换行和发送两个按钮事件的呀。 在网页端有办法处理吗,事件里塞了什么标记呀

    11 条回复    2025-10-30 22:13:51 +08:00
    ns09005264
        1
    ns09005264  
       1 天前
    Firefox 和 Chrome 都支持远程调试,直接在电脑上调试手机上的网页,你给 input 加上相关的监听事件,打印该事件就知道按了什么键发送了什么 key 或 buttons
    festoney8
        2
    festoney8  
       1 天前
    以搜狗为例,在不同场景下回车键会显示不同功能,比如 回车/搜索/开始/下一步,在网页内对于会自动判断 input type 或 textarea
    rizon
        3
    rizon  
    OP
       1 天前
    @ns09005264 还能远程调试手机端的 chrome ? 我居然不知道 。需要 usb 或者 wifi 局域网吗?
    94
        5
    94  
       1 天前
    没有用其他输入法,单单从系统自带的输入法里面没看到 key 和 code 有差异,可能 KeyCode 会有差异?

    可能如 zxx 这篇文章中说的改造成 form 表单上面的事件监听,让浏览器自己判断会好一些?
    [奇了怪了,输入法和 JS Enter 回车提交冲突 « 张鑫旭-鑫空间-鑫生活]( https://www.zhangxinxu.com/wordpress/2023/02/js-enter-submit-compositionupdate/)
    PaulSamuelson
        6
    PaulSamuelson  
       1 天前
    你是不是想问这个? https://juejin.cn/post/7330255976506081321
    要区分用户直接输入 Enter ,还是在 `isComposing` 输入法内输入的 Enter
    wentx
        7
    wentx  
       1 天前
    Enter

    Shift+Enter

    一个发送,一个换行
    skallz
        8
    skallz  
       1 天前
    参考飞书等工具,没必要区分,用 shift+enter 换行,因为如果你擅自做了区分,反而会给用户造成困惑,同一个按键会出现不同的功能
    bowencool
        9
    bowencool  
       1 天前
    @ns09005264 safari 也可以
    fuyun
        10
    fuyun  
       22 小时 34 分钟前
    输入法状态监听:

    ```typescript
    ngAfterViewInit() {
    const $promptInput = this.promptInput?.nativeElement;

    $promptInput.addEventListener('compositionstart', () => (this.inputFlag = true), false);
    $promptInput.addEventListener('compositionend', () => (this.inputFlag = false), false);
    }
    ```
    codehz
        11
    codehz  
       20 小时 1 分钟前
    键盘显示什么不是看你 https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/enterkeyhint 里指定了什么吗()
    然后操作都是发送换行,另外这玩意不一定能被 composition 事件捕获,除非用户是在输入拼音没上屏的时候按的回车(然而手机输入法还不一定会把这个回车发给浏览器,而是直接上屏了)
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3556 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:15 · PVG 18:15 · LAX 03:15 · JFK 06:15
    ♥ Do have faith in what you're doing.