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

資訊專欄INFORMATION COLUMN

小技巧|H5禁止手機虛擬鍵盤彈出

shiguibiao / 557人閱讀

摘要:使用方式來阻止虛擬鍵盤彈出應該是最簡單最優雅的方式了。屬性規定輸入字段為只讀。上的解釋是它返回當前頁面中獲得焦點的元素,也就是說,如果此時用戶按下了鍵盤上某個鍵,會在該元素上觸發鍵盤事件,該屬性是只讀的。

本文首發于我的博客:http://dunizb.com
原文地址:http://dunizb.com/2017/09/24/disable-the-phone-virtual-keyboard-up/

工作中遇到如下需求,點擊輸入框彈出自定義彈窗,輸入框是input標簽:

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

readonly

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

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

優點:簡單
缺點:在iOS的Safari中無效(未做更多情況測試)

document.activeElement.blur()

這是個什么玩意兒?document.activeElement是一個Web API接口。MDN上的解釋是:它返回當前頁面中獲得焦點的元素,也就是說,如果此時用戶按下了鍵盤上某個鍵,會在該元素上觸發鍵盤事件,該屬性是只讀的。

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

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

MDN上還展示了一個有意思的示例,看這里

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

優點:支持Android、iOS
缺點:需要添加額外的JS代碼

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

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

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

就當前需求來說,用document.activeElement.blur()確實是在繞彎子,直接使用readonly是最佳方案。但是document.activeElement很強大,可以做很多事。

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

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

相關文章

  • 技巧|H5禁止手機虛擬鍵盤彈出

    摘要:使用方式來阻止虛擬鍵盤彈出應該是最簡單最優雅的方式了。屬性規定輸入字段為只讀。上的解釋是它返回當前頁面中獲得焦點的元素,也就是說,如果此時用戶按下了鍵盤上某個鍵,會在該元素上觸發鍵盤事件,該屬性是只讀的。 本文首發于我的博客:http://dunizb.com原文地址:http://dunizb.com/2017/09/24/disable-the-phone-virtual-keyb...

    mumumu 評論0 收藏0
  • H5項目常見問題匯總及解決方案

    摘要:解決方案可以解決在手機上點擊事件的延遲的模塊,事件也是為了解決在的延遲問題顯示屏原理及設計方案說明屏是一種具備超高像素密度的液晶屏,同樣大小的屏幕上顯示的像素點由個變為多個,如在同樣帶下的屏幕上,蘋果設備的顯示屏中,像素點個變為個。 原文鏈接 - https://github.com/FrontEndRo... H5項目常見問題及注意事項 Meta基礎知識: H5頁面窗口自動調整到設備...

    marser 評論0 收藏0
  • css前端初始化

    摘要:初入前端,若有不足歡迎指正頭部初始化標簽問題一般要添加背景音樂的話,我們的第一反應就是使用標簽,但是這里有一個坑。 前言 當下移動端橫行,平常我們做一些移動端的項目,接觸最多的就是H5,雖然做移動端不用兼容IE,但是 我們要兼容微信、app、ios、android... 今天就給寫幾個平常開發經常會遇到的問題以及解決辦法。 初入前端,若有不足 歡迎指正! 頭部初始化 ...

    mikyou 評論0 收藏0

發表評論

0條評論

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