网页里有办法区分输入法的换行和发送按钮事件吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon
V2EX    程序员

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

  •  1
     
  •   rizon
    othorizon 48 天前 3044 次点击
    这是一个创建于 48 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    Shift+Enter

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

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

    $promptInput.addEventListener('compositionstart', () => (this.inputFlag = true), false);
    $promptInput.addEventListener('compositionend', () => (this.inputFlag = false), false);
    }
    ```
    codehz
        11
    codehz  
       47 天前
    键盘显示什么不是看你 https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/enterkeyhint 里指定了什么吗()
    然后操作都是发送换行,另外这玩意不一定能被 composition 事件捕获,除非用户是在输入拼音没上屏的时候按的回车(然而手机输入法还不一定会把这个回车发给浏览器,而是直接上屏了)
    rizon
        12
    rizon  
    OP
       43 天前 via Android
    @codehz 是的,依靠 composition 事件判断是不行的,分不出来
    关于     帮助文档     自助推广系统     博客 &bsp;   API     FAQ     Solana     4321 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 10:04 PVG 18:04 LAX 02:04 JFK 05:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86