这是我的editbox 的配置, 一般出现在手机上,当我输入小写时,显示了大写,然后隐藏了。请问这是什么原因,
我觉得是不是因为我的input flag 是password 的问题。
我用2.1.2,遇到同样的问题,经查,基本确定是引擎的问题。在 WebEditBoxImpl.js 中,input 标签的 textTransform 默认被初始化为uppercase:
_initStyleSheet () {
let elem = this._elem;
elem.style.display = 'none';
elem.style.border = 0;
elem.style.background = 'transparent';
elem.style.width = '100%';
elem.style.height = '100%';
elem.style.active = 0;
elem.style.outline = 'medium';
elem.style.padding = '0';
elem.style.textTransform = 'uppercase'; //这里默认设置为大写
elem.style.position = "absolute";
elem.style.bottom = "0px";
elem.style.left = LEFT_PADDING + "px";
elem.className = "cocosEditBox";
elem.id = this._domId;
在_updateInputType中,未更新textTransform ,导致网页中的密码框只能输入大写,修改一下 _updateInputType的代码就行:
_updateInputType () {
.........
// begin to updateInputType
if (inputFlag === InputFlag.PASSWORD) {
elem.type = 'password';
//下面这行代码是新增的。发现是密码框时,将textTransform 转为none。
//引擎原来是没有更新textTransform ,直接返回
//导致textTransform 使用了默认值 uppercase.
elem.style.textTransform ='none'
return;
}
..........
}
不知道这里为啥默认值使用 uppercase??? 而不是html的 none ?
鼓掌,感谢大佬
顶一下。确实有问题。
2.2.2 我按照这个改了还是不行
creator2.2.2版本
问题:输入小写 a,输入框中显示的是 A
重现:
1、创建 EditBox 组件设置属性 InputFlag 为 PASSWORD
2、打开手机浏览器,输入地址 “http://” + 本机ip + “:7456”
3、点击输入框输入小写 a
麻烦大佬帮忙康康,谢谢
楼上的方法 2.2.2行不通
