Blockly自定义的块添加自定义右键菜单customContextMenu

本文介绍了如何在Blockly中为自定义块添加自定义的右键菜单customContextMenu。通过在块定义时设置该菜单,并提供callback回调函数来实现所需操作。所有代码需在workspace初始化前执行,最终效果展示了一个名为'length of'的自定义块成功添加了customContextMenu。作者还表达了对解答已有块如何添加contextmenu的好奇,并期待读者的点赞评论支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题外话:自从可以科学上网后,翻看blockly文档那些就简单舒服多了~~

翻看了很久blockly文档,发现很少有关于ContextMenu的一些内容,经过一翻的搜索,终于找到解决的方法。

要自定义块右键的菜单(customContextMenu),需要在块定义的时候也定义这个customContextMenu。

 

直接上代码:

Blockly.Blocks['string_length'] = {
    init:function() {
    this.appendValueInput('VALUE')
    .setCheck('String')
    .appendField('length of');
    this.setOutput(true, 'Number');
    this.setColour(160);
    this.setTooltip('Returns number of letters in the provided text.');
    this.setHelpUrl('http://www.w3schools.com/jsref/jsref_length_string.asp');
    // console.log(this)
    },
    customContextMenu:function(options) {
        varoption= {
        enabled:true,
        text:"Custom option",
        callback:function() {
            
        }.bind(this)
    };
    options.push(option);
    }
};

其实就是自定块的时候完成右键菜单的设置就ok了。

这些代码都必须在workspace 初始化好之前执行。

里面有一个callback回调函数就是点击自定义块的菜单时候调用的函数。在这里写上你想要的操作就ok了。

最后的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值