日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

解决oninput在输入中文时,会获取拼音的问题

發布時間:2023/12/13 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 解决oninput在输入中文时,会获取拼音的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)起因:在今天做項目測試的時候發現的問題,在用微軟自帶的輸入法的時候,輸入中文,文本框會獲得拼音

如圖所示:

(2)解決辦法:經過一段時間的百度查找,最后通過這篇文章找到了解決的方法,這里給出網址:https://segmentfault.com/a/1190000012490380

為文本框添加compositionstart和compositionend方法,這樣在使用微軟自帶輸入法時,在進行input驗證的時候,就不會驗證拼音了,而是等中文輸入完成后再進行驗證

compositionstart:在輸入中文或者語音等需要等待一連串的輸入的操作之前,compositionstart事件會觸發
compositionend:在輸入中文或語音等完畢或取消時,compositionend事件會觸發

(3)對應代碼

//valDom:對應的文本框的id
function Input_ValidateNum(valDom) { var isInputZh = false; var search = document.getElementById(valDom); search.addEventListener('compositionstart', function (e) { isInputZh = true; }, false); search.addEventListener('compositionend', function (e) { isInputZh = false; ValidateNum(valDom); //這個方法可以隨意更換,是用來處理輸入數據的 }, false); search.addEventListener('input', function (e) { if (isInputZh) return; ValidateNum(valDom);//這個方法可以隨意更換,是用來處理輸入數據的
}, false); }

處理方法對應的代碼:

//驗證輸入的是否是數字或英文
//valDom:要進行驗證的文本框
 function ValidateNum(valDom) {
   var domVal = $("#" + valDom + "").val();
   $("#" + valDom + "").val(domVal.replace(/[W]/g, ''));
}


(4)在網頁中的調用

控件的定義:

<input id="Title" type="text">

在頁面的初始方法中,調用上面的方法

$(function () {         
            Input_ValidateCEN('Title');
        });

根據上面的步驟,完成之后,在輸入的時候就可以對文本框的內容進行限制,對于微軟輸入法輸入中文獲取拼音的問題也就解決了,在這里再次感謝https://segmentfault.com/a/1190000012490380這個網址對應的方法,

參考https://segmentfault.com/a/1190000012490380這個網址

此文檔用于平時的積累,如果有問題,請留言,不勝感激,謝謝

總結

以上是生活随笔為你收集整理的解决oninput在输入中文时,会获取拼音的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。