JointJS创建节点时增加Tooltip
时间: 2023-10-26 15:06:06 浏览: 146
要在JointJS创建节点时增加Tooltip,可以使用以下步骤:
1. 首先,创建一个Tooltip视图类,这个类在节点上显示Tooltip:
```
joint.ui.Tooltip = Backbone.View.extend({
className: 'tooltip',
initialize: function(options) {
_.bindAll(this, 'show', 'hide');
this.options = options || {};
this.render();
this.$el.appendTo('body');
},
render: function() {
this.$el.html(this.options.content);
},
show: function() {
this.$el.css({
visibility: 'visible'
});
},
hide: function() {
this.$el.css({
visibility: 'hidden'
});
}
});
```
2. 在节点定义时,添加一个“mouseenter”事件监听器。当鼠标进入节点时,创建并显示Tooltip:
```
var rect = new joint.shapes.basic.Rect({
position: { x: 100, y: 100 },
size: { width: 100, height: 50 },
attrs: { rect: { fill: 'blue' }, text: { text: 'My Rect', fill: 'white' } }
});
rect.on('mouseenter', function() {
var tooltip = new joint.ui.Tooltip({
content: 'This is my rect'
});
tooltip.show();
});
// 添加节点到画布上
graph.addCell(rect);
```
3. 添加一个“mouseleave”事件监听器,当鼠标离开节点时,隐藏Tooltip:
```
rect.on('mouseleave', function() {
tooltip.hide();
});
```
这样就可以在JointJS创建节点时增加Tooltip了。注意:如果需要在多个节点上使用Tooltip,可以将Tooltip添加到节点的模板中,并在节点定义中使用模板。
阅读全文