1

我正在使用javascript創建windows phone 8.1應用程序,我爲我的應用程序創建了自定義鍵盤,但是當我點擊輸入/文本字段時,窗口手機鍵盤彈出。我想只爲我的應用程序禁用它。如何禁用Windows手機鍵盤?

我做了這個

<body id="body"> 
<textarea id="input" onclick="loseFocus()"></textarea> 
<script> 
function loseFocus(){ 
    document.getelementById("body").focus(); 
} 
</script> 
</body> 

但其沒有工作,因爲我想.. ,因爲它失去焦點,它的損失閃爍的光標,而不是能夠textarea的寫

更新 我想以新的方式去做。 我使用的iframe,而不是文本區域,我使用innerHTML屬性

在它來編輯iframe或輸入文本和onClick事件彈出我的自定義鍵盤 現在的問題是我想要閃爍的光標在IFRAME在以往任何時候我」 m在其中工作

回答

2

如果將焦點設置爲其他UI元素,那麼顯然它將失去閃爍光標,儘管鍵盤消失了。 由於使用文本框,當你無法禁用鍵盤,你可以做一招類似this

+0

我用一個邏輯更新我的問題,並幫助它? –

2

,你碰上的是,焦點事件TextBox控件是由手機本身截獲的問題,它帶來的鍵盤了。

總之,沒有辦法繞過這個功能。但是,還有一種替代方法。

構建自己的文本框控件....這聽起來很瘋狂,但是它是什麼?不是真的。我一直在工作中建立自定義控件。通常他們是其他預製控制的組合,但它們都是UserControl。

那麼讓我們來思考一下,如何讓自己做到?

我不確定您是否能夠在您的項目中使用XAML元素。但是,如果你在這裏是如何使用用戶控件來做到這一點。否則,您需要研究如何製作自定義網頁控件。可能是CSS和HTML

開始的搭配簡單的東西像這樣

<Grid> <--- Handle your tap event 
    <Border> 
    <TextBlock> <-- Databind this to a string property in your back end code 

有網格處理您的輕擊事件。

認爲XAML作爲upsidown蛋糕。當你點擊Textblock時,如果水龍頭沒有處理,它會進入邊界,然後進入柵格。所以,如果你有你的網格處理龍頭,它也會消耗內部龍頭。

那麼你對你的點擊事件做了什麼?

那麼這裏是你將呈現你的自定義鍵盤的地方。您將要識別哪個自定義TextBlock被點擊。您可以通過在每個標籤上放置一個自定義標籤來實現。

當用戶在自定義鍵盤上鍵入時,請更改TextBlock綁定的屬性值。這將更新屏幕上的文字。

這幾乎是一個基本的文本塊。

以下是這篇文章採取的假設:

  1. 你知道一個用戶控件是什麼

  2. 你知道如何進行數據綁定

  3. 你知道約2路數據綁定

希望這會有所幫助!

+0

你的意思是像wt這樣的文本框控件嗎? –

1

您可以在1秒的時間間隔更新文本區域的內容。追加/刪除|字符間隔秒。

setTimeout(function() {UpdateContent()}, 1000); 
0

我遇到了類似的問題。

我的解決方法是在文本框下創建一個文本塊,並讓它共享文本框的內容。 然後,我在兩者之間切換可見性狀態,以防止在不需要時顯示鍵盤。

這是一個黑客,但它適用於我的情況。

+0

我沒有得到你可以分享你的一部分代碼,你實際上做了什麼? –

+0

當文本框的LostFocus事件被調用時,摺疊文本框並顯示文本塊。 –

+0

我沒有得到你。 –