濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出

Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出

熱門標(biāo)簽:如何獲取地圖標(biāo)注客戶 電話機(jī)器人黑斑馬免費(fèi) 平?jīng)龅貓D標(biāo)注位置怎么弄 只辦理400電話 高德地圖標(biāo)注地點(diǎn)糾錯(cuò) 南昌仁和怎么申請(qǐng)開(kāi)通400電話 拓展地圖標(biāo)注 機(jī)器人外呼系統(tǒng)存在哪些能力 電話機(jī)器人電銷系統(tǒng)掙話費(fèi)

工作中遇到如下需求,點(diǎn)擊輸入框彈出自定義彈窗,輸入框是input標(biāo)簽:

但是在移動(dòng)端,input會(huì)默認(rèn)觸發(fā)手機(jī)的虛擬鍵盤,如何阻止手機(jī)虛擬鍵盤彈起呢?目前我試過(guò)有兩個(gè)方案,一個(gè)是給input添加readonly屬性,另一個(gè)就是在input事件處理方法前面添加一句document.activeElement.blur() 。

readonly

使用readonly方式來(lái)阻止虛擬鍵盤彈出應(yīng)該是最簡(jiǎn)單最優(yōu)雅的方式了。readonly 屬性規(guī)定輸入字段為只讀。只讀字段是不能修改的。不過(guò),用戶仍然可以使用 tab 鍵切換到該字段,還可以選中或拷貝其文本。

值得一提的是它的取值,只要聲明了readonly屬性,不管取什么值都可以,比如readonly=""、readonly="readonly"、readonly="abc"都是一樣的

優(yōu)點(diǎn):簡(jiǎn)單
缺點(diǎn):在iOS的Safari中無(wú)效(未做更多情況測(cè)試)

document.activeElement.blur()

這是個(gè)什么玩意兒?document.activeElement是一個(gè)Web API接口。MDN上的解釋是:它返回當(dāng)前頁(yè)面中獲得焦點(diǎn)的元素,也就是說(shuō),如果此時(shí)用戶按下了鍵盤上某個(gè)鍵,會(huì)在該元素上觸發(fā)鍵盤事件,該屬性是只讀的。

document.activeElement屬性始終會(huì)引用DOM中當(dāng)前獲得了焦點(diǎn)的元素。元素獲得焦點(diǎn)的方式有用戶輸入(通常是按Tab鍵)、在代碼中調(diào)用focus()方法和頁(yè)面加載。

它里面有很多方法,在瀏覽器控制臺(tái)查看,可以看到有很都方法:

那么document.activeElement.blur()為什么可以阻止虛擬鍵盤彈出呢?原因是:當(dāng)你點(diǎn)擊input的時(shí)候,document.activeElement獲得了DOM中被聚焦的元素,也就是你點(diǎn)擊的input,而調(diào)用.blur()方法,blur我相信大家都知道吧,就是取消聚焦。獲得被聚焦的元素然后強(qiáng)制blur以達(dá)到?jīng)]有聚焦的樣子、、、感覺(jué)繞了。

優(yōu)點(diǎn):支持Android、iOS
缺點(diǎn):需要添加額外的JS代碼

這句代碼加在什么地方?加入有如下HTML

<div class="calendar">
    <div>
        <input type="text" id="datePicker" class="date_picker" placeholder="點(diǎn)擊選擇入住日期"/>
    </div>
</div>

那么這句JS加在事件處理方法中

$("#datePicker").focus(function(){
    document.activeElement.blur();
});

總結(jié)

就當(dāng)前需求來(lái)說(shuō),用document.activeElement.blur()確實(shí)是在繞彎子,直接使用readonly是最佳方案。但是document.activeElement很強(qiáng)大,可以做很多事。

到此這篇關(guān)于Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出的文章就介紹到這了,更多相關(guān)Html5手機(jī)鍵盤彈出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:西藏 漯河 新疆 池州 遼源 棗莊 青島 永州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出》,本文關(guān)鍵詞  Html5,頁(yè),面上,如何,禁止,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Html5頁(yè)面上如何禁止手機(jī)虛擬鍵盤彈出的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    阜康市| 广宁县| 高密市| 陆良县| 衡水市| 峡江县| 大厂| 仁化县| 双流县| 古蔺县| 兴山县| 墨竹工卡县| 康定县| 仁化县| 吉隆县| 灌云县| 六盘水市| 通化县| 莱芜市| 塘沽区| 阜宁县| 陆河县| 深水埗区| 横峰县| 德保县| 临湘市| 琼海市| 海南省| 德清县| 望奎县| 无极县| 秦安县| 伊宁市| 武隆县| 同江市| 南充市| 齐齐哈尔市| 高唐县| 湛江市| 南溪县| 敦煌市|