Nonaktifkan pemeriksaan ejaan pada bidang teks HTML

286

Dapatkah saya entah bagaimana menonaktifkan pemeriksaan ejaan pada bidang teks HTML (seperti terlihat pada contohnya Safari)?

Michiel de Mare
sumber

Jawaban:

420

Pembaruan : Seperti yang disarankan oleh komentator (kredit tambahan untuk Bagaimana saya bisa menonaktifkan pemeriksa ejaan pada input teks pada iPhone ), gunakan ini untuk menangani semua browser desktop dan mobile.

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

Jawaban asli: Javascript tidak dapat mengesampingkan pengaturan pengguna, jadi kecuali Anda menggunakan mekanisme lain selain bidang teks, ini tidak (atau tidak seharusnya) mungkin.

Eric Wendelin
sumber
4
mengapa ini diterima? itu tidak masuk akal karena dapat mengesampingkan pengaturan pengguna jika browser mengizinkannya. lihat jawaban ms2ger.
usr
1
Hanya karena itu adalah jawaban terbaik saat itu. Kurasa Michiel belum melalui dan menandai yang lain sebagai benar. Itu baik-baik saja bagi saya karena itu adalah jawaban yang lebih baik.
Eric Wendelin
2
Penting untuk kompatibilitas catatan Browser - Mobile Safari (iOS) tidak menghormati tag misalnya - wufoo.com/html5/attributes/17-spellcheck.html
radicand
3
stackoverflow.com/questions/3416867/… memiliki jawaban yang benar untuk ini ( autocorrect="off") untuk Mobile Safari - spellcheck=tidak berfungsi
Chris S
1
harus autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"
zaman
208

Ya, gunakan spellcheck="false", seperti yang didefinisikan oleh HTML5 , misalnya:

<textarea spellcheck="false">
    ...
</textarea>
Ms2ger
sumber
1
MDN memiliki tabel yang menunjukkan nilai default pemeriksaan ejaan untuk berbagai browser dan elemen: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul
2
Saya mendapat pesan kesalahan "Ejaan properti DOM tidak dikenal. Apakah maksud Anda ejaan cek?" Menggunakan spellChecktampaknya memuaskannya. Bisa jadi hal yang bersifat domisili.
Shanimal
3
@ Shanimal Ya, bereaksi menggunakan camel-case untuk atribut DOM. Lihat reactjs.org/docs/introducing-jsx.html
sookie
13

Untuk Grammarly Anda dapat menggunakan:

<textarea data-gramm="false" />
sensor
sumber
7

IFrame AKAN "memicu" pemeriksa ejaan (jika kontennya dapat diedit disetel ke true) seperti halnya bidang teks, setidaknya di Chrome.

JCOC611
sumber
1
Trik +1 untuk "konten yang dapat diedit disetel ke true" itulah trik sebenarnya
AT
4

Cuplikan kode berikut menonaktifkannya untuk semua textareadan input[type=text]elemen:

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

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

    disableSpellCheck();
})();
Artur Beljajev
sumber