[常见问题记录帖]浏览器中输入文字解决方案

我们的游戏经常需要玩家输入文字信息,而edit控件的输入方式又不太好用,这里提供一个弹出框的解决方案,仅限在浏览器,微信中使用,

代码如下



createInput: function () {
var textField = new ccui.TextField();
            textField.setTouchEnabled(true);
            textField.fontName = "Marker Felt";
            textField.fontSize = 30;
            textField.x = widgetSize.width / 2.0;
            textField.y = widgetSize.height / 2.0;
            textField.addEventListenerTextField(this.textFieldEvent, this);
},

textFieldEvent: function (sender, type) {
        switch (type) {
            case ccui.TextField.EVENT_ATTACH_WITH_IME:
                var textField = sender;
                this._topDisplayLabel.setString("attach with IME");
                if (!cc.sys.isNative)
                {
                    var inputStr = window.prompt("请输入:");
                    cc.log("你输入的内容是:"+inputStr);
                }
                break;
}

真的么?太好了,我正在解决这个适配的问题,好烦躁中

:14: 怎么样,是否解决了你的问题

:14: :14: :14:

如果点取消就没法继续了

用户点取消以后,传回的参数是null,以此来判定是不是取消

在手机上会弹出两次,第二次输入的才有效哦

你可以加一个标识判定下,如果弹出来了,就不用再调用一次了。

第一次弹出来的时候是用的默认的placeholder提示语,第二次才是自定义的那个

那你把输入框控件换成按钮,事件监听点击事件,点击后弹出,这样就没问题了。

恩 我就这么处理的 我意思是有没有其他改进方案

:836: 暂时还没想到其它方案,嘿嘿。:827:

支持支持支持支持支持支持支持支持

赶紧想,这个东西挺好用的

谢谢分享~~~~~~~~~~~~

回复鼓励好帖!

竟然隐藏了 回复中…

:3: :3: :3: 怎么给隐藏了?

回复看看那效果

:3:遇到同样的问题求解决办法