找回密码
 立即注册

QQ登录

只需一步,快速开始

tianqing01

最新发帖
tianqing01
注册会员   /  发表于:2017-3-29 17:42:48
11#
dexteryao 发表于 2017-3-29 17:38
事件绑定和iframe没有关系,您不通过iframe直接打开页面测试下事件是否成功绑定。

我也是这样认为 ,但是这两处引用除了嵌套iframe这个区别之外基本没有别的特殊处理,但是结果就是事件绑定失败,有什么原因可能会导致绑定事件失败?我没有在文档里边找见
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-30 11:34:10
12#
事件绑定和iframe没有关系。建议您检查下逻辑,看是否绑定代码执行有问题。如果还解决不了,您需要发送个可以重现的Demo过来,我们看看。
回复 使用道具 举报
tianqing01
注册会员   /  发表于:2017-4-1 10:01:56
13#
dexteryao 发表于 2017-3-30 11:34
事件绑定和iframe没有关系。建议您检查下逻辑,看是否绑定代码执行有问题。如果还解决不了,您需要发送个可 ...

改用绑定到spread上
$("#ss").wijspread("spread").bind(GcSpread.Sheets.Events.DragFillBlock, function (e, info) { …… }

之后事件出现一次过程会执行两次绑定事件执行过程

目前做不出重现Demo
回复 使用道具 举报
tianqing01
注册会员   /  发表于:2017-4-1 10:08:56
14#
tianqing01 发表于 2017-4-1 10:01
改用绑定到spread上
$("#ss").wijspread("spread").bind(GcSpread.Sheets.Events.DragFillBlock, functi ...

事件绑定在sheet上和spread上有什么具体区别

同时在加载时我是先导入json串
spread = $("#ss").wijspread("spread");
// 对excel中的表格初始加载 && 样式进行设置及控制
activeSheet = getSheetTab(spread, "activeSheet"); // get active worksheet
spread.fromJSON(JSON.parse(jsonStr));//导入json
//修改后的表单单元格值绑定事件
var cellChanged = GcSpread.Sheets.Events.CellChanged;
spread.bind(cellChanged, function (e, info) {            ……        });
                               
var dragFillBlock = GcSpread.Sheets.Events.DragFillBlock;
spread.bind(dragFillBlock, function (e, info) {        ……         });

var dragFillBlockCompleted = GcSpread.Sheets.Events.DragFillBlockCompleted;
spread.bind(dragFillBlockCompleted, function (e, info) {       ……        });

这种情况下事件都会执行两遍

如果改成绑定到sheet上,会出现绑定事件未执行的情况
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-1 14:25:23
15#
绑定到sheet上就只有那个sheet上操作才会触发,绑定到spread上这个spread中所有sheet操作都会触发。

如果是绑定到sheet,那么每个sheet都要做一遍绑定。绑定到spread,不管多少个sheet只要绑定一次就好了。

评分

参与人数 1满意度 +5 收起 理由
tianqing01 + 5

查看全部评分

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