摘要:一開始的時(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
摘要:布爾值,表示當(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 = { /...
摘要:方法接受一個(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)...
摘要:前言本文講解前端面試的的內(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í)前端面...
表單腳本 表單的基礎(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...
摘要:然而,并沒有直接監(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í)不然。從...
閱讀 1098·2021-11-22 14:56
閱讀 1157·2021-11-11 16:54
閱讀 8506·2021-09-23 11:55
閱讀 3100·2021-09-22 15:57
閱讀 2851·2021-08-27 16:25
閱讀 742·2019-08-30 15:55
閱讀 1709·2019-08-30 15:43
閱讀 1659·2019-08-30 14:23