成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

如何讓焦點(diǎn)始終固定在特定文本框

netScorpion / 2702人閱讀

摘要:一開始的時(shí)候,定義焦點(diǎn)在文本框,當(dāng)文本框失去焦點(diǎn)的時(shí)候重新定焦在文本框。這樣,就無(wú)法判斷,焦點(diǎn)是否在文本框。于是我想到了用定時(shí)器來(lái)做,代碼如下定時(shí)器每隔檢查一次,當(dāng)發(fā)現(xiàn)焦點(diǎn)不在文本框里,則定焦到最初的文本框,否則不改變焦點(diǎn)。

沒耐心的朋友,可以直接看代碼。

最近在做一個(gè)關(guān)于收銀臺(tái)的項(xiàng)目,其中有一個(gè)需求,是掃碼槍掃描支付碼進(jìn)行支付。掃碼槍觸發(fā)的事件,其實(shí)是一個(gè)keyup enter事件,要捕獲到這個(gè)事件,必須將焦點(diǎn)定在支付碼輸入框內(nèi)才可以。

inputEle=document.getElementById("focusInput");

inputEle.focus();

inputEle.onblur=function(){
  inputEle.focus();
};

一開始的時(shí)候,定義焦點(diǎn)在文本框,當(dāng)文本框失去焦點(diǎn)的時(shí)候重新定焦在文本框。很簡(jiǎn)單的方法,就實(shí)現(xiàn)了固定焦點(diǎn)的要求。

后來(lái)這個(gè)頁(yè)面上又多了搜索框和商品列表,那么,當(dāng)焦點(diǎn)在其他文本框的時(shí)候,如何判斷使其能正常輸入呢?

起初,我還是按上面方法去做,卻發(fā)現(xiàn),鼠標(biāo)無(wú)論如何點(diǎn)擊,document.activeElement(當(dāng)前焦點(diǎn)坐在元素)始終是body元素。這樣,就無(wú)法判斷,焦點(diǎn)是否在文本框。于是我想到了用定時(shí)器來(lái)做,代碼如下:

var focus=function(){
  setTimeout(function(){
    let activeElement=document.activeElement;
    if(activeElement.type!=="text"){
      inputEle.focus();
    }
    focus();
  },60);
}

focus();

定時(shí)器每隔60ms檢查一次,當(dāng)發(fā)現(xiàn)焦點(diǎn)不在文本框里,則定焦到最初的文本框,否則不改變焦點(diǎn)。

用上面兩種方法,基本上就可以滿足所有固定焦點(diǎn)的情況了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/90216.html

相關(guān)文章

  • JS學(xué)習(xí)筆記(第14章)(表單腳本)

    摘要:布爾值,表示當(dāng)前字段是否被禁用。指向當(dāng)前字段所屬表單的指針只讀。文本框腳本在中,有兩種方式來(lái)表現(xiàn)文本框一種是使用元素的單行文本框,另一種是使用的多行文本框。然后,我們把這個(gè)函數(shù)指定為每個(gè)文本框的事件處理程序。 本章知識(shí)架構(gòu) showImg(https://segmentfault.com/img/bVbvCTV?w=921&h=713); var EventUtil = { /...

    BlackHole1 評(píng)論0 收藏0
  • javascript高級(jí)程序設(shè)計(jì)(第三版)學(xué)習(xí)摘錄下

    摘要:方法接受一個(gè)布爾值參數(shù),表示是否執(zhí)行深復(fù)制方法不會(huì)復(fù)制添加到節(jié)點(diǎn)中的屬性,例如事件處理程序等。由于跨域安全限制,來(lái)自不同子域的頁(yè)面無(wú)法通過通信。這三個(gè)集合都是動(dòng)態(tài)的換句話說(shuō),每當(dāng)文檔結(jié)構(gòu)發(fā)生變化時(shí),它們都會(huì)得到更新。 第十章 DOM 1001、每一段標(biāo)記都可以通過樹中的一個(gè)節(jié)點(diǎn)來(lái)表示:HTML 元素通過元素節(jié)點(diǎn)表示,特性(attribute)通過特性節(jié)點(diǎn)表示,文檔類型通過文檔類型節(jié)點(diǎn)...

    yiliang 評(píng)論0 收藏0
  • 前端硬核面試專題之 HTML 24 問

    摘要:前言本文講解前端面試的的內(nèi)容。復(fù)習(xí)前端面試的知識(shí),是為了鞏固前端的基礎(chǔ)知識(shí),最重要的還是平時(shí)的積累注意文章的題與題之間用下劃線分隔開,答案僅供參考。返回當(dāng)前文檔的標(biāo)題。改用則可以進(jìn)行針對(duì)性的和避免不必要的。 showImg(https://segmentfault.com/img/bVbv2GE?w=900&h=400); 1. 前言 本文講解前端面試的 HTML 的內(nèi)容。 復(fù)習(xí)前端面...

    honhon 評(píng)論0 收藏0
  • 高程3總結(jié)#第14章表單腳本

    表單腳本 表單的基礎(chǔ)知識(shí) HTMLFormElement有自己獨(dú)特的屬性和方法 acceptCharset,服務(wù)器能夠處理的字符集,等價(jià)于HTML中的accept-charset特性 action,接受請(qǐng)求的URL,等價(jià)于HTML中的action特性 elements,表單中所有控件的集合 enctype,請(qǐng)求的編碼類型,等價(jià)于HTML中的enctype特性 length,表單中控件的數(shù)量 m...

    Tony 評(píng)論0 收藏0
  • 可能這些是你想要的H5軟鍵盤兼容方案

    摘要:然而,并沒有直接監(jiān)聽軟鍵盤的原生事件,只能通過軟鍵盤彈起或收起,引發(fā)頁(yè)面其他方面的表現(xiàn)間接監(jiān)聽,曲線救國(guó)。軟鍵盤收起表現(xiàn)觸發(fā)輸入框以外的區(qū)域時(shí),輸入框失去焦點(diǎn),軟鍵盤收起??梢宰屲涙I盤彈起后,讓焦點(diǎn)元素再次滾到可視區(qū),強(qiáng)迫滾到位。 前言 最近一段時(shí)間在做 H5 聊天項(xiàng)目,踩過其中一大坑:輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很明確,看似很簡(jiǎn)單,其實(shí)不然。從...

    stackvoid 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<