【问题标题】:Disable Mac OS X Lion Safari's autocorrect on contentEditable div?在 contentEditable div 上禁用 Mac OS X Lion Safari 的自动更正?
【发布时间】:2011-12-31 15:00:33
【问题描述】:

我们有一个包含大量 contentEditable <div> 的 Web 应用程序。借助 Mac OS X Lion 上 Safari 中的激进自动更正功能,我们在 Safari 尝试为我们的用户自动更正时遇到了许多问题。

我已经能够通过手动转到“编辑>拼写和语法”并禁用“自动更正拼写”选项来阻止这种情况的发生。但是,我想知道是否有办法以编程方式执行此操作,无论是在 javascript 中还是使用 html 属性。在 Apple 的文档 (https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/DesigningForms/DesigningForms.html) 中,html 表单字段中有一个“自动更正”属性,让网站设计人员可以决定是否应该启用自动更正。

此“自动更正”属性是否仅适用于移动 Safari?它适用于 contentEditable div 吗?如果没有,是否有其他方法可以告诉用户手动关闭自动更正?

【问题讨论】:

    标签: safari osx-lion contenteditable autocorrect


    【解决方案1】:

    您可以使用spellcheck 属性来启用或禁用拼写检查(可能的值为truefalse

    您可以在HTML5 spec 中找到有关此属性的更多详细信息。

    【讨论】:

    • 这似乎对我不起作用。 OS X Lion 仍然会自动更正我在 contentEditable 中输入的内容<div>
    • 试试这个演示:jsfiddle.net/jhHJ9 - 它似乎适用于 OSX Lion 上的 Safari 5.1.1 和 Chrome 15
    • 很遗憾,不,我可以说它在 iOS 5 上不起作用。仍然应用了自动更正。
    • 我也有同样的问题。让我们的编辑感到非常沮丧。似乎是苹果方面的一个错误。
    【解决方案2】:

    iOS Safari 中关闭自动更正/自动完成功能的实现目前尚未完成。对于普通的input字段,autocorrect属性可以用来关闭自动补全:

    <input type="text" name="feild1" autocorrect="off">
    

    但是该属性对于设置了contenteditablediv 以及其中的标签都没有任何作用。两者:

    <div contenteditable="true" autocorrect="off"><p>Edit me!</p></div>
    

    还有:

    <div contenteditable="true"><p autocorrect="off">Edit me!</p></div>
    

    仍然允许自动更正和自动完成。 Apple 仅允许 autocorrect 属性和相关的关闭自动更正/完成的功能以应用于传统表单字段。

    恐怕我找不到同样适用于 contentEditable div 字段的替代解决方案。我可以建议向 Apple 的 bug 报告员bugreport.apple.com 提出这个问题吗?这是一个足够明确的要求,只要他们被告知,它可能很快就会得到解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 2011-10-12
      • 2012-03-22
      • 2012-04-05
      • 1970-01-01
      相关资源
      最近更新 更多