您可以通过提示和帮助网址的形式提供屏蔽帮助。
提示
当用户将鼠标悬停在相应代码块上时,工具提示会提供即时帮助。如果文本较长,系统会自动换行。
JSON
{
// ...,
"tooltip": "Tooltip text."
}
JavaScript
init: function() {
this.setTooltip("Tooltip text.");
}
在 JavaScript API 中,还可以将提示定义为函数,而不是静态字符串。这样可以实现动态帮助。请参阅 math_arithmetic
,了解根据所选下拉菜单选项而变化的工具提示示例。
JavaScript
Blockly.Blocks['math_arithmetic'] = {
init: function() {
// ...
// Assign 'this' to a variable for use in the tooltip closure below.
var thisBlock = this;
this.setTooltip(function() {
var mode = thisBlock.getFieldValue('OP');
var TOOLTIPS = {
'ADD': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_ADD'],
'MINUS': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MINUS'],
'MULTIPLY': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MULTIPLY'],
'DIVIDE': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_DIVIDE'],
'POWER': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_POWER']
};
return TOOLTIPS[mode];
});
}
};
使用 JavaScript API,块可以指定一个函数(而非静态字符串)来返回提示字符串。这样可以实现动态提示。如需查看示例,请参阅 math_arithmetic
。
自定义
您还可以通过提供自定义渲染函数来自定义提示的显示效果。创建一个接受两个参数的函数:
- 首先,您需要一个用于呈现内容的
<div>
元素 - 其次,鼠标悬停在其上且您要为其显示提示的实际元素
在函数正文中,您可以将任何内容呈现到 div 中。如需获取在鼠标悬停在某个块上时定义的提示字符串,您可以调用 Blockly.Tooltip.getTooltipOfObject(element);
,其中 element
是上面的第二个参数。
最后,注册此函数,以便 Blockly 能够在适当的时间调用它:
Blockly.Tooltip.setCustomTooltip(yourFnHere);
如需查看示例,请参阅自定义提示示例。
“帮助”网址
块可以与帮助页面相关联。用户只需右键点击相应屏蔽内容,然后从上下文菜单中选择“帮助”,即可获得帮助。如果此值为 null
,则系统不会显示“帮助”项。
JSON
{
// ...,
"helpUrl": "https://en.wikipedia.org/wiki/For_loop"
}
JavaScript
init: function() {
// ...
this.setHelpUrl('https://en.wikipedia.org/wiki/For_loop');
}
使用 JavaScript API,块可以指定函数(而非静态字符串)来返回网址字符串,从而实现动态帮助。