找回密码
 立即注册

QQ登录

只需一步,快速开始

lin123

最新发帖
lin123
中级会员   /  发表于:2018-3-27 15:09:53
31#
ClarkPan 发表于 2018-3-27 12:12
您好:

调查结果是这样的,内部拷贝走的是内部逻辑没有调用剪切板所以会拿到空值。这里有一点不太好的地 ...

您好,正在尝试调试RangeChanged事件,然后出现一个问题,设置了禁止输入法选项,结果没有效果?输入法还是可以用
sheet.getRange(-1, 3, -1, 1).imeMode(GC.Spread.Sheets.ImeMode.disabled);
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-3-27 15:41:59
32#
本帖最后由 lin123 于 2018-3-27 16:13 编辑
ClarkPan 发表于 2018-3-27 12:12
您好:

调查结果是这样的,内部拷贝走的是内部逻辑没有调用剪切板所以会拿到空值。这里有一点不太好的地 ...

您好,
1、

已成功的把原本监听ClipboardPasting事件改为监听RangeChanged事件,可以根据黏贴位置的类型再改值了。
但是我的判断是args里面的action=3就是黏贴,不知道这样对不对?什么情况下可确定是黏贴
sheet.bind(GC.Spread.Sheets.Events.RangeChanged, function(e, args) {
   var action = args.action;
   if (3 == action) {//为黏贴类型

          //处理
}
2、

然后发现禁止输入法没有效果
sheet.getRange(-1, 3, -1, 1).imeMode(GC.Spread.Sheets.ImeMode.disabled);

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-27 18:50:33
33#
第一个问题:
可以的,3就是 GC.Spread.Sheets.RangeChangedAction.paste的枚举值
第二个问题我需要调研一下这块,明天给您回复。
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-3-28 14:12:05
34#
ClarkPan 发表于 2018-3-27 18:50
第一个问题:
可以的,3就是 GC.Spread.Sheets.RangeChangedAction.paste的枚举值
第二个问题我需要调研 ...

你好,请问怎么样了?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-28 17:47:58
35#
本帖最后由 ClarkPan 于 2018-3-28 18:00 编辑

您好:
结果是这样的imeMode本身就是css3中的ime-mode
这个属性只支持IE和火狐浏览器,在chrome,opera中是不支持的。
另外发现一个问题,因为V11的弹出框改成div的实现方式了,这样ime-mode就完全不生效了(火狐也不生效),目前这块如何修改还需要进行讨论,很可能这个接口会被废弃掉,因为在各个浏览器效果不同。不过这个应该不会影响您的功能,给您的demo中,中文输入会被判断并清除的

model_v11.0.1.html

3.18 KB, 下载次数: 176

回复 使用道具 举报
lin123
中级会员   /  发表于:2018-3-28 18:15:35
36#
ClarkPan 发表于 2018-3-28 17:47
您好:
结果是这样的imeMode本身就是css3中的ime-mode
这个属性只支持IE和火狐浏览器,在chrome,opera中 ...

额,影响到功能了
editor.onkeyup = function(event) {
this.innerText = this.innerText.replace(/[\u4e00-\u9fa5]/g, '').replace(/\D/g, '');
}
这段代码导致输入模式变成insert模式了,生成的字符串全是反方向的
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-29 13:37:30
37#
不太明白您说的,这个只是一个替换,为什么会导致您输入模式变换了,您要不把代码抽离成一个简单的可以重现问题的demo,我这边帮您看一下。
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-3-29 13:47:15
38#
本帖最后由 lin123 于 2018-3-29 13:52 编辑
ClarkPan 发表于 2018-3-29 13:37
不太明白您说的,这个只是一个替换,为什么会导致您输入模式变换了,您要不把代码抽离成一个简单的可以重现 ...

你把注释掉的那些代码还原,就会出现插入数据从123变成321

test2.zip

1.54 KB, 阅读权限: 150, 下载次数: 1

回复 使用道具 举报
lin123
中级会员   /  发表于:2018-3-29 14:06:11
39#
ClarkPan 发表于 2018-3-29 13:37
不太明白您说的,这个只是一个替换,为什么会导致您输入模式变换了,您要不把代码抽离成一个简单的可以重现 ...

我输入的是123
2018-03-29_140450.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-29 18:09:37
40#
应该是div的问题,我改了一下demo,改成input就可以了

model_v11.0.1.html

3.16 KB, 下载次数: 180

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部