我们有一个包含大量contentEditable <div>
的Web应用程序。由于Mac OS X Lion上Safari的积极自动更正,我们遇到了一些问题,Safari试图为我们的用户自动更正。
我已经能够通过手动转到“编辑&gt;拼写和语法”并禁用“自动更正拼写”选项来阻止这种情况发生。但是,我想知道,如果有一种方法可以通过javascript或使用html属性以编程方式执行此操作。从Apple的文档(https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/DesigningForms/DesigningForms.html)中,html表单字段上有一个“自动更正”属性,让网站设计者决定是否应该启用自动更正。
这个'自动更正'属性仅适用于移动版Safari吗?它是否适用于contentEditable div?如果没有,是否还有其他方法只是告诉用户手动关闭自动更正?
答案 0 :(得分:2)
您可以使用spellcheck
属性启用或停用拼写检查(可能的值为true
和false
)
您可以在HTML5 spec。
中找到有关此属性的更多详细信息答案 1 :(得分:0)
在iOS Safari中关闭自动更正/自动完成功能的实现目前尚未完成。对于普通input
字段,autocorrect
属性可用于关闭自动完成功能:
<input type="text" name="feild1" autocorrect="off">
但该属性不会对div
设置contenteditable
设置任何内容,也不会为其中的标记设置任何内容。这两种:
<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上提出这个问题吗?这是一个明确的足够要求,如果他们被告知,它可能会在很长时间内得到解决。