我正在開發優惠券公司的前端網站,我有一個頁面,用戶只需輸入電話號碼和$$花費。我們想出了一個有趣的使用Javascript構建的屏幕鍵盤,易於使用且速度更快。但是,我正在尋找一種解決方案,在用戶對焦並在這些字段中輸入文本/數字時停止彈出軟鍵盤。HTML手機 - 強制軟鍵盤隱藏
我知道HTML5提出的「數字/電話/電子郵件」類型屬性。但是,冒着瘋狂的風險,我真的只想使用我的屏幕鍵盤。
注意:本網站主要針對平板電腦。
謝謝。
我正在開發優惠券公司的前端網站,我有一個頁面,用戶只需輸入電話號碼和$$花費。我們想出了一個有趣的使用Javascript構建的屏幕鍵盤,易於使用且速度更快。但是,我正在尋找一種解決方案,在用戶對焦並在這些字段中輸入文本/數字時停止彈出軟鍵盤。HTML手機 - 強制軟鍵盤隱藏
我知道HTML5提出的「數字/電話/電子郵件」類型屬性。但是,冒着瘋狂的風險,我真的只想使用我的屏幕鍵盤。
注意:本網站主要針對平板電腦。
謝謝。
由於軟鍵盤是操作系統的一部分,通常情況下,您將無法隱藏它 - 同樣,在iOS上,隱藏鍵盤會從元素中隱藏焦點。
但是,如果你使用的輸入onFocus
屬性,然後blur()
文本輸入立即,鍵盤會隱藏自身和onFocus
事件可以設置一個變量來定義其文本輸入集中最後。
然後改變你的頁面鍵盤,只改變最後聚焦(使用變量檢查)文本輸入,而不是模擬按鍵。
謝謝Scott。當您使用常規的HTML表單進行測試時,如果沒有屏幕上的鍵盤,您的建議可以很好地工作。看來我正在實現的jquery mobile或我正在使用的鍵盤對象正在創建他們自己的焦點事件,我還沒有找到('焦點'是名稱空間在庫中某處)。就目前而言,我們的客戶喜歡這個想法,但軟鍵盤一直在彈出的事實已經關閉,所以我們正在放棄這個功能。 :( 我感興趣的工作,所以如果有人有興趣,這裏是鍵盤庫: https://github.com/Mottie/Keyboard – crodica
只是一個想法 - 如果你把一個透明的div會發生什麼在每個輸入,然後使用的onClick方法例如:'
斯科特S的答案完美無缺。
我正在爲移動設備編寫基於網絡的電話撥號盤,每當用戶按鍵盤上的數字(由表格中的td span元素組成)時,軟鍵盤就會彈出。我還希望用戶不能進入撥打號碼的輸入框。這實際上解決了一槍中的兩個問題。下面使用:
<input type="text" id="phone-number" onfocus="blur();" />
其實,這個答案爲我工作好。 (@ScottS)的答案,並不尊重他的回答,我懷疑html輸入語句和$(document).ready()之間經過的時間允許鍵盤觸發,而onfocus = blur();會是至少在我的腦海中,速度更快,並且防止鍵盤開火, – HumbleBeginnings
如需進一步閱讀器/搜索:
由於Rene Pot上this topic指出,
通過設置輸入字段
readonly="true"
你應該避免 任何人輸入任何東西它,但仍然能夠啓動一個點擊 事件就可以了。
使用此方法,您可以避免彈出「軟」鍵盤並仍然啓動點擊事件/通過任何屏幕鍵盤填充輸入。
該解決方案也適用於通常已經實現控件的日期選擇器。
示例我是如何做到的,在填充最大長度後,它將模糊我的 字段(並且鍵盤將消失),如果您有多個字段,則可以添加我添加的行'/ /'
var MaxLength = 8;
$(document).ready(function() {
$('#MyTB').keyup(function() {
if ($(this).val().length >= MaxLength) {
$('#MyTB').blur();
// $('#MyTB2').focus();
}
}); });
這是_is_瘋狂。如果您使用標準輸入字段,請使用標準輸入法。 – egrunin
儘管如此,使用屏幕鍵盤還是有很多好處的,除此之外,使用和構建都很有趣。 其中之一,他們是高度可定製的,以密切關注您的觀衆的需求,第二安全,第三屏幕的房地產。;-) – crodica
啊,我看到我誤解爲「前端*應用*」的「前端*網站*」。用戶對網站的期望更高。 – egrunin