HTMLテキストフィールドのスペルチェックを無効にする


回答:


420

更新:コメント投稿者(iPhoneのテキスト入力でスペルチェッカーを無効にするにはどうすればよいかへの追加のクレジット)で提案されているように、これを使用してすべてのデスクトップおよびモバイルブラウザーを処理します。

<tag autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>

元の回答:JavaScriptはユーザー設定を上書きできないため、テキストフィールド以外のメカニズムを使用しない限り、これは不可能です(または可能ではありません)。


4
なぜこれが受け入れられたのですか?ブラウザで許可されている場合はユーザー設定を上書きできるため、意味がありません。ms2gerの回答を参照してください。
usr

1
当時はそれが最良の答えだったからです。Michielが戻っておらず、もう1つを正しいものとしてマークしていないと思います。それはより良い答えなので、私にはそれで結構です。
エリックウェン

2
モバイルサファリ(iOSの)インスタンスのタグ尊重しない- -ノートブラウザの互換性に重要なwufoo.com/html5/attributes/17-spellcheck.html
被平方根

3
stackoverflow.com/questions/3416867/…これautocorrect="off"はMobile Safariのこれに対する正しい答えです()- spellcheck=動作しません
Chris S

1
autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"である必要があります
zaman

208

はい、HTML5spellcheck="false"定義されているを使用します。次に例を示します。

<textarea spellcheck="false">
    ...
</textarea>

1
MDNは、異なるブラウザや要素に対してスペルチェックのデフォルト値を示す表があります。 developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/...
ポール・

2
「不明なDOMプロパティスペルチェック。スペルチェックですか?」というエラーが表示されます。使用spellCheckはそれを満足するようです。リアクションドムの可能性があります。
Shanimal

3
@Shanimalはい、reactはDOM属性にキャメルケースを使用します。reactjs.org/docs/introducing-jsx.htmlを
sookie

13

文法のためにあなたは使うことができます:

<textarea data-gramm="false" />

7

IFrameは、少なくともChromeでは、テキストフィールドと同じように、スペルチェッカー(content-editableがtrueに設定されている場合)を「トリガー」します。


1
真のトリックである「コンテンツ編集可能をtrueに設定」トリックの+1
AT

4

次のコードスニペットは、すべてのtextareaおよびinput[type=text]要素に対してそれを無効にします。

(function () {
    function disableSpellCheck() {
        let selector = 'input[type=text], textarea';
        let textFields = document.querySelectorAll(selector);

        textFields.forEach(
            function (field, _currentIndex, _listObj) {
                field.spellcheck = false;
            }
        );
    }

    disableSpellCheck();
})();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.