【问题标题】:Disable autocorrect / autocompletion in content editable div在内容可编辑 div 中禁用自动更正/自动完成
【发布时间】:2014-01-16 13:22:05
【问题描述】:

我正在用 Script# 开发一个跨浏览器应用程序。 我正在使用 contenteditable div,用户可以在其中添加文本。但我不希望自动更正/自动完成功能更改用户文本。

请告诉我如何禁用此功能。 它应该适用于所有平台。 (iOS、Android、Windows)

我试过 autocorrect="off"; 自动完成=“关闭”

但没有任何效果。请帮忙....

【问题讨论】:

  • 我认为自动更正功能(我假设在手机、平板电脑等上)是键盘的一部分,因此只是操作系统/应用程序的一部分。除非它可以读取文本框的属性,否则我看不到它是如何被禁用的。
  • 有没有办法通过代码禁用键盘的自动更正功能。
  • 您的代码无法访问键盘硬件/软件,或操作系统的任何部分,因此无法直接访问。
  • 这听起来更像是一个 HTML5/JS 问题而不是 S#。在 S# 中,您只需将适当的属性添加到 div。

标签: javascript html css script#


【解决方案1】:

你可以做的是使用属性spellcheck=false。这是(在 HTML5 CR 中)禁用“检查可编辑文本的拼写和语法”的定义方式。该元素的默认值取决于浏览器,该值可能取决于元素。例如,在 Chrome 中,对于已使用 contenteditable 属性使其可编辑的元素,默认值为 spellcheck=true

但是,这(最多)只影响浏览器中发生的事情。浏览器外部的软件,例如系统的键盘阅读例程,可能不受您在 HTML 中所说的任何内容的影响。

【讨论】:

  • 如果他们能检查一下就好了... SwiftKey 将删除密码字段的自动更正,所以也许正在采用的东西...?
【解决方案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

也可以随意给问题加注星标以帮助提升排名...

【讨论】:

    猜你喜欢
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多