国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

input文本框強制輸入指定文字的方法以及IE11的兼容

CKJOKER / 3522人閱讀

摘要:背景最近開發的韓國項目,在用戶姓名輸入框一欄中,要求只能輸入韓文,通常用到和兩個事件來觸發方法,并在方法中進行校驗,但是在瀏覽器中,出現了一種情況,就是韓文單詞拼寫未完成的時候,會直接進行校驗并顯示,如下圖實例所展示,并不是需要想要的結果,

背景:最近開發的韓國項目,在用戶姓名輸入框一欄中,要求只能輸入韓文,通常用到onkeyup和onafterpaste兩個事件來觸發方法,并在方法中進行校驗,但是在IE瀏覽器中,出現了一種情況,就是韓文單詞拼寫未完成的時候,會直接進行校驗并顯示,如下圖實例所展示,并不是需要想要的結果,所以需要進行IE兼容;

記錄一下整個流程:

標簽綁定事件

標簽綁定了onkeyup鍵盤抬起事件以及onafterpaste粘貼文本進輸入框兩個事件,當有這兩個操作時,就會觸發相應的校驗方法;

校驗方法
keyup (ev) {
  if (!this.imeStatus) {
    ev.target.value = ev.target.value.replace(/[^?-??-??-?A-Za-z0-9]/g, "")
  }
},

當事件觸發時,首先會有個變量imeStatus校驗是否是IE瀏覽器,然后再根據正則校驗進行輸入框值的替換,注意:替換的應該是當前正在輸入的值,并非整個輸入框包括已經輸入的所有值;

if (getBrowser() === "IE") {
      window.addEventListener("compositionstart", () => {
        this.imeStatus = true
      }, false)
      window.addEventListener("compositionend", () => {
        this.imeStatus = false
      }, false)
    }

IE瀏覽器的校驗:如果是IE瀏覽器,則對輸入法事件進行監聽,在輸入法錄入開始時,變量imeStatus為true,當前輸入的值不進行校驗,當輸入法輸入結束事件觸發時,說明拼寫完成,變量imeStatus為false,進行校驗當前拼寫輸入完成的單詞;

function getBrowser () {
  const userAgent = navigator.userAgent
  if (userAgent.indexOf("OPR") > -1) {
    return "Opera"
  }
  if (userAgent.indexOf("Firefox") > -1) {
    return "FF"
  }
  if (userAgent.indexOf("Trident") > -1) {
    return "IE"
  }
  if (userAgent.indexOf("Edge") > -1) {
    return "Edge"
  }
  if (userAgent.indexOf("Chrome") > -1) {
    return "Chrome"
  }
  if (userAgent.indexOf("Safari") > -1) {
    return "Safari"
  }
}

對瀏覽器的判斷:navigator.userAgent獲取當前瀏覽器信息;

以上就是我在項目開發過程中遇到的需要兼容IE的地方;文中提到的是韓文校驗,也可以替換成其他語言,根據自己項目中的具體需求進行修改即可;

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102436.html

相關文章

  • [總結]CSS/CSS3常用樣式與web移動端資源

    摘要:不允許負值用百分比來定義縮放比例。解決這個很簡單,在父元素中使用即可解決該。列寬度由單元格內容設定。定義僅有大寫字母。不過,要讓任何元素生效還得借助于一點點。 css/css3常用樣式 CSS修改選中文字的顏色 html代碼: 第一段文字選中效果 第二段文字選中效果 css代碼: .p1::selection{background:red;color:#fff;} .p2::selec...

    The question 評論0 收藏0
  • 【譯】原生表單組件

    摘要:文本輸入框文本輸入框是最基本的表單組件,它便于用戶輸入各種數據。對大多數表單組件而言,表單提交后所有具有屬性的組件都會被提交,即使它們沒有獲值。重置按鈕用于重置所有表單組件為默認值。 系列文章說明 原文 HTML表單是由組件構成的,這些組件是各種瀏覽器都支持的內置控件。本文中我們將深入探討它們、了解它們的作用、學習如何讓各種瀏覽器更好地支持它們。 雖然這里我們只探討內建表單組件,但...

    sunnyxd 評論0 收藏0
  • WEB前端面試題整理(一)

    摘要:響應禁止包含消息體,因此始終以消息頭后的第一個空行結尾。刪除并返回數組的最后一個元素。返回該對象的源代碼。優雅降級一開始就構建完整的功能,然后再針對低版本瀏覽器進行兼容。 WEB前端面試題的記錄(一) 1、獲取非行間樣式的函數: function getStyle(obj, attr){ if (obj.currentStyle) { return obj.current...

    hoohack 評論0 收藏0

發表評論

0條評論

CKJOKER

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<