Vô hiệu hóa kiểm tra chính tả trên các trường văn bản HTML


286

Tôi có thể bằng cách nào đó vô hiệu hóa kiểm tra chính tả trên các trường văn bản HTML (như đã thấy trong ví dụ Safari) không?

Câu trả lời:


420

Cập nhật : Theo đề xuất của một người bình luận (tín dụng bổ sung vào Làm thế nào tôi có thể vô hiệu hóa trình kiểm tra chính tả trên các kiểu nhập văn bản trên iPhone ), hãy sử dụng công cụ này để xử lý tất cả các trình duyệt trên máy tính để bàn và thiết bị di động.

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

Câu trả lời gốc: Javascript không thể ghi đè cài đặt người dùng, vì vậy trừ khi bạn sử dụng một cơ chế khác ngoài trường văn bản, điều này là không thể (hoặc không nên).


4
Tại sao điều này đã được chấp nhận? nó không có nghĩa gì vì nó có thể ghi đè cài đặt của người dùng nếu trình duyệt cho phép. xem câu trả lời của ms2ger.
usr

1
Chỉ vì đó là câu trả lời tốt nhất vào thời điểm đó. Tôi đoán Michiel đã không quay lại và đánh dấu người khác là chính xác. Điều đó sẽ tốt với tôi vì nó là một câu trả lời tốt hơn.
Eric Wendelin

2
Điều quan trọng cần lưu ý là khả năng tương thích trình duyệt - Mobile Safari (iOS) không tôn trọng thẻ chẳng hạn - wufoo.com/html5/attribut/17-spellcheck.html
radicand

3
stackoverflow.com/questions 43216867 / từ có câu trả lời đúng cho điều này ( autocorrect="off") cho Mobile Safari - spellcheck=không hoạt động
Chris S

1
nên là autoComplete = "tắt" autoC chính = "tắt" autoCapitalize = "tắt" chính tả = "sai"
zaman

208

Có, sử dụng spellcheck="false", như được định nghĩa bởi HTML5 , ví dụ:

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

1
MDN có một bảng hiển thị giá trị mặc định của kiểm tra chính tả cho các trình duyệt và thành phần khác nhau: developer.mozilla.org/en-US/docs/Web/HTML/Global_attribut/
Paul

2
Tôi đang gặp lỗi "Kiểm tra chính tả thuộc tính DOM không xác định. Ý bạn là chính tả?" Sử dụng spellCheckdường như để đáp ứng nó. Chỉ có thể là một điều phản ứng-dom.
Shanimal

3
@Shanimal Có, phản ứng sử dụng trường hợp lạc đà cho các thuộc tính DOM. Xem reactjs.org/docs/introducing-jsx.html
Sookie

13

Đối với Grammarly, bạn có thể sử dụng:

<textarea data-gramm="false" />

7

IFrame SILL "kích hoạt" trình kiểm tra chính tả (nếu nó có cài đặt có thể chỉnh sửa nội dung thành đúng) giống như một trường văn bản, ít nhất là trong Chrome.


1
+1 cho thủ thuật "có thể chỉnh sửa nội dung thành đúng" là mẹo thực sự
AT

4

Đoạn mã sau sẽ vô hiệu hóa nó cho tất cả textareainput[type=text]các phần tử:

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

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

    disableSpellCheck();
})();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.