Editbox placeholder/safari 兼容性 bug,节点 Opacity bug

1.使用EditBox如果把placeholder属性设置为空,就会在浏览器控制台输出一对警告。如下:
[GroupMarkerNotSet(crbug.com/242999)!:94BFB408]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
(index):1 WebGL: too many errors, no more errors will be reported to the console for this context.

如果placeholder设置一个字符串就没事。还有EditBox在"模拟器"上跟"浏览器“上效果不一样,浏览器效果正常,但是在模拟器预览时候只能看到前5个字符,后面都都被截断了。无论设置MaxLength为多少都一样。
还有就是EditBox为什么必须点2次才能输入??

2.this.bodySprite.node.opacity=0;在浏览器正常,在模拟器无效!!

补充Bug: safari浏览器,点击EditBox,无法唤出输入法,下方会有疑是输入法的东西一闪而过。 版本:1.0.1, web-mobile方式发布,apache。

editobx 的这些 bug 收到了,我回头修复一下。 不过浏览器要点击 2 次才能输入,一直还没找到解决办法。。。

我也再提一个bug吧,就是输入框类型设置数字、邮件之类的完全没有效果,要在cocos2d-js-min.js里面搜索代码

if(this.style.fontSize=t._edFontSize+"px",this.style.color=e.colorToHex(i._textColor),i._editBoxInputFlag===E.PASSWORD)t._edTxt.type="password";else t._edTxt.type="text";

替换为

if(this.style.fontSize=t._edFontSize+"px",this.style.color=e.colorToHex(i._textColor),i._editBoxInputFlag===E.PASSWORD)t._edTxt.type="password";else if(i._editBoxInputMode==b.PHONE_NUMBER)t._edTxt.type="tel";else if (i._editBoxInputMode==b.NUMERIC) t._edTxt.type = "tel"; else t._edTxt.type = "text";

手机的数字键盘才生效(iOS 9.3.1实测),官方压根没有加这一块的判断代码

手机浏览器上面的实现确实少了这些,后面要继续完善。。。

另外 @tianyi2010
opacity 的实现 native 层不太好做,因为本身 EditBox 就是在 glview 上面挂了一个 native 控件,你能举一个使用 opacity 的场景吗?如果要隐藏,可以用 visible.

opacity 不是针对editbox的设置,是对node的,我在代码中写node.opacity=0;在浏览器正常,在模拟器无效!!
@子龙山人

额,话说回帖中怎么@别人??不会~~

对啊,因为模拟器没有实现 native 控件的 opacity 修改。。。 你用 node.opacity = 0 去隐藏一个东西不好啊。。。

我不是要隐藏,是要做fadeIn,先设置为0

editbox 在mx5上简直不能用,一进程序就会触发一次键盘的回调函数,想用别的字体,但是editbox的string一直都是渲染在最上层。而且模拟器和真机调试完全不一样!

editbox 目前每个平台都是使用的系统层的控件,因为是在 opengl view 或者 canvas 上面附加一个系统控件,所以总是渲染在最上面。

关于自定义字体,后面会逐步开放这个功能,但是也只能是输入完成后的字体定制。

模拟器和真机因为平台的差异性,所以不可能一样的。。

EditBox会修改屏幕尺寸,我要怎么保持屏幕尺寸不被修改

模拟器也是这样的问题 需要点2次 现在有解决办法么?