我可以以某种方式禁用HTML文本字段的拼写检查(如在Safari中所见)?


当前回答

一个IFrame将“触发”拼写检查器(如果它的内容可编辑设置为true)就像一个文本框,至少在Chrome中。

其他回答

更新:正如一位评论者所建议的(额外归功于如何禁用iPhone文本输入的拼写检查器),使用此功能来处理所有桌面和移动浏览器。

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

原来的答案:Javascript不能覆盖用户设置,所以除非你使用其他机制而不是文本字段,这是不可能的(或不应该)。

是的,使用拼写检查="false",就像HTML5定义的那样,例如:

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

一个IFrame将“触发”拼写检查器(如果它的内容可编辑设置为true)就像一个文本框,至少在Chrome中。

对于Grammarly,你可以使用:

<textarea data-gramm="false" />

下面的代码片段对所有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();
})();