如何在 jointjs 中的链接工具选项上获取事件
How to get an event on links tool-option in jointjs
我正在尝试在单击工具选项时调用函数,以便我可以更改 link 的标签名称。
我可以使用 cell:pointerdown 事件获得一个函数调用,但这给了我整个 link 的 ID,并且在 link 的任何位置单击都会调用该事件。所以具体来说,我想在点击工具选项图像(设置选项卡)时接到电话。
我正在尝试的代码是:
paper.on('cell:pointerdown',
function(cellView, evt, x, y) {
if (cellView.model.isLink()) {
var links = graph.getLinks();
console.log(cellView.model.id);
for (var i = 0; i < links.length; i++){
console.log(links[i].id);
links[i].label(0, { attrs: { text: { text: 'my label' } } });
}
}
这工作正常,但我希望在 link 上点击工具选项图像时发生相同的事件,而不是在 link 上的任何地方。
您的问题已在此处得到解答:
基本上,你需要做这样的事情:
diagram.on('link:options', function (cellView, evt, x, y) {
// your logic here: e.g. select a link by its options tool
});
我正在尝试在单击工具选项时调用函数,以便我可以更改 link 的标签名称。 我可以使用 cell:pointerdown 事件获得一个函数调用,但这给了我整个 link 的 ID,并且在 link 的任何位置单击都会调用该事件。所以具体来说,我想在点击工具选项图像(设置选项卡)时接到电话。
我正在尝试的代码是:
paper.on('cell:pointerdown',
function(cellView, evt, x, y) {
if (cellView.model.isLink()) {
var links = graph.getLinks();
console.log(cellView.model.id);
for (var i = 0; i < links.length; i++){
console.log(links[i].id);
links[i].label(0, { attrs: { text: { text: 'my label' } } });
}
}
这工作正常,但我希望在 link 上点击工具选项图像时发生相同的事件,而不是在 link 上的任何地方。
您的问题已在此处得到解答:
基本上,你需要做这样的事情:
diagram.on('link:options', function (cellView, evt, x, y) {
// your logic here: e.g. select a link by its options tool
});