2014-01-16 49 views
3

我在Script#中開發跨瀏覽器的應用程序。 我使用contenteditable div,用戶可以在其中添加文本。但我不想自動更正/自動完成功能來更改用戶文本。在內容中禁用自動更正/自動完成可編輯div

PLZ告訴我如何禁用此功能。 它應該適用於所有平臺。 (iOS,Android,Windows)

我試過autocorrect =「off」; autocomplete =「off」

但沒有任何工作。 plz幫助....

+1

我認爲正確的自動功能(我假設在手機,平板電腦等)是鍵盤的一部分,因此,只是OS/App的一部分。除非可以讀取文本框的屬性,否則我看不到它是如何被禁用的。 – RemarkLima

+0

有沒有辦法通過代碼禁用鍵盤的自動修正功能。 – Kpatel1989

+0

您的代碼無法訪問鍵盤硬件/軟件或操作系統的任何部分,因此無法直接訪問。 – RemarkLima

回答

2

你可以做的是使用屬性spellcheck=false。這是(在HTML5 CR中)禁用「檢查可編輯文本的拼寫和語法」的定義方式。此元素的默認值取決於瀏覽器,並且該值可能取決於元素。例如,在Chrome中,對於已使用contenteditable屬性可編輯的元素,默認值爲spellcheck=true

但是,這僅影響(至多)僅在瀏覽器中發生的情況。瀏覽器外部的軟件,例如系統的鍵盤閱讀程序,可能不受你在HTML中說的任何東西的影響。

+0

這將是很好,如果他們會檢查...例如,SwiftKey將刪除自動更正密碼字段,所以也許正在採用的東西......? – RemarkLima

2

您正在使用正確的屬性,但如果預計他們需要使用contenteditable(它們肯定支持和標記),我並不積極。當前的iOS版本(至少v6.1及更高版本)目前將支持這些屬性,但Android版Chrome中存在一個錯誤,並不尊重這些HTML 5屬性。它似乎剛剛得到修復,希望儘快在更新中發佈。

https://code.google.com/p/chromium/issues/detail?id=303883&q=autocorrect&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified

也隨意標註星號,以幫助提振排名...