zoukankan      html  css  js  c++  java
  • 事件:compositionstart & compositionend,解决oninput获取到拼音的问题。

    官方解释:

    compositionstart:compositionstart事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作、语音识别或者点击输入法的备选词)。
    compositionend:当文本段落的组成完成或取消时, compositionend 事件将被触发 。

    通俗点说:

    是属于输入法和语音等键盘操作事件。

    注意事项:

    compositionend事件在input事件之后触发。

    解决方案:

    记录输入状态,默认通过input事件进行内容过滤,当为拼音输入时input事件跳过,等end事件进行内容过滤操作。

    var flag = false;
    function guolv(item,_value){
        _value=_value.replace(/[^wu4e00-u9fa5]+/gi,'');
        item.val(_value)
    }
    
    $('#addressName').on('compositionstart',function(){
        flag = true;
    })
    $('#addressName').on('compositionend',function(){
        flag = false;
        guolv($(this),$(this).val())
    })
    $('#addressName').on('input',function(){
        if(flag){return}
        guolv($(this),$(this).val())
    })
    

      

  • 相关阅读:
    搜狗输入法赏析
    第二次冲刺个人总结05
    程序员的自我修养阅读笔记01
    第十五周学习总结
    mysql 查询优化
    mysql explain 详解
    nginx基本配置与参数说明
    input输入框实现联想关键词功能
    JS图片懒加载
    mysql中timestamp,datetime,int类型的区别与优劣
  • 原文地址:https://www.cnblogs.com/lstrive/p/11897106.html
Copyright © 2011-2022 走看看