找回密码
 立即注册

QQ登录

只需一步,快速开始

18889186136

初级会员

12

主题

30

帖子

340

积分

初级会员

积分
340

活字格认证

18889186136
初级会员   /  发表于:2016-8-17 14:22  /   查看:4591  /  回复:7
<div id="spreadContainerEdit" class="spreadContainer"></div>
$("#spreadContainerEdit").smartMenu(MenuData, {
          name: "div"   
        });
var MenuData = [
                [{text: "剪切(N)     Ctrl+X", func: function(){cut();}},
                 {text: "拷贝(O)     Ctrl+C", func: function(){copy();}},
                 {text: "粘贴(P)      Ctrl+V", func: function(){paste();}},
                 {text: "删除(Q)     Ctrl+D", func: function(){clear();}},
                 ]
             ];


function clear(){
    var spread = $("#spreadContainerEdit").wijspread("spread");
    var sheet = spread.getActiveSheet();
    $.wijmo.wijspread.SpreadActions.clear.call(sheet);
}
以上这些是我的代码:
如果我点击右键,然后点击删除,是可以实现的。
但是我现在想要功能是
1 点击右键,然后点击Q,也能删除
2 ctrl+d,也能删除
我该如何实现?



7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-17 14:31:57
沙发
1. 这个不是spread的功能了,您需要在右键后监听用户keypress事件,或者在keypress时判断smartmenu是否显示。
2. 使用spread的keymap 可以参考http://helpcentral.componentone. ... eadHClient/symbols/$.wijmo.wijspread.KeyMap.html
回复 使用道具 举报
18889186136
初级会员   /  发表于:2016-8-17 15:05:37
板凳
dexteryao 发表于 2016-8-17 14:31
1. 这个不是spread的功能了,您需要在右键后监听用户keypress事件,或者在keypress时判断smartmenu是否显示 ...

谢谢,你给的连接不对,打不开呀
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-17 15:11:30
地板
您再试下KeyMap
回复 使用道具 举报
18889186136
初级会员   /  发表于:2016-8-17 16:01:06
5#

按照api:
$.wijmo.wijspread.KeyMap(113, "yes", "not", "not", aa());
意思就是同时按下ctrl+q  就会进入aa 这个方法。
但是没有成功,而且一进来就会进入aa 这个方法了。
api 也没有例子说明。为什么呢?

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-17 16:07:53
6#
sheet.addKeyMap("M".charCodeAt(0),true,true,false, aa)

应该是这种形式,参数类型是bool 和function。
例子在
http://helpcentral.componentone. ... eadHClient/symbols/
回复 使用道具 举报
18889186136
初级会员   /  发表于:2016-8-24 16:00:54
7#
dexteryao 发表于 2016-8-17 16:07
sheet.addKeyMap("M".charCodeAt(0),true,true,false, aa)

应该是这种形式,参数类型是bool 和function ...

为什么方法不能传参数?
sheet.addKeyMap("M".charCodeAt(0),true,true,false, aa("1"));
或者sheet.addKeyMap("M".charCodeAt(0),true,true,false, aa(1));
都不行?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-24 16:19:02
8#
这个是回调,无法传递参数。如果您需要变量可以将变量设置成全局的,然后aa方法中调用。

另外你设置aa("1") 实际传递的是aa方法计算的return 值,并不是传递一个function。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部