如何在移动设备上为 contenteditable 元素启用自动大写

How to enable autocapitalization for contenteditable elements on mobile

我有一个 contenteditable div 用户可以在其中 post 发表评论:

<div contenteditable="true"></div>

但是,当您在移动设备上输入此字段时 phone,它不会自动将句子后的第一个字母大写。

在手机上,每个句子结束后的第一个字母应该大写。所以:

"This is a sentence. Now, the word 'now' should be capitalized"

我知道这可能只是输入字段的一个功能,但是有没有办法在 contenteditable 元素上 achieve/hack 这个?

如果您正在寻找 HTML/CSS 答案,Autocapitalise 全局属性就是您想要的。将 Autocapitalise 设置为 "on" 或 "sentences" 将使每个句子的第一个字母大写。 这是一个例子:

<input type="text" autocapitalise="on" />

不知何故我意识到自从我使用 Emojionearea 以来,自动大写就不起作用了。所以没有用autocapitalize初始化Emojionearea是我自己的错。

很抱歉留下这个细节。也许这个问题会对其他也在使用 Emojionearea 的人有所帮助。

正确的代码应该是:

Html

 <div id='textField' contenteditable="true" ></div>

JS

 $('#textField').emojioneArea({
                placeholder: $(this).data("placeholder"),
                pickerPosition: "bottom",
                attributes: {
                    spellcheck: true,
                    autocapitalize: "on"
                }
});