屏蔽功能帮助

您可以通过提示和帮助网址的形式提供屏蔽帮助。

提示

当用户将鼠标悬停在相应代码块上时,工具提示会提供即时帮助。如果文本较长,系统会自动换行。

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,块可以指定函数(而非静态字符串)来返回网址字符串,从而实现动态帮助。