また、あなたが望む方法でビューを定義することもできます。その後、論文で、API http://jointjs.com/api#joint.dia.Paperで指定されているように使用されるリンクビューを定義します。
コンストラクターに渡されるオプション オブジェクトには、次のプロパティを含めることができます。
...
* linkView - object that is responsible for rendering a link model into the paper. Defaults to joint.dia.LinkView
* defaultLink - link that should be created when the user clicks and drags and active magnet (when creating a link from a port via the UI). Defaults to new joint.dia.Link
...
次に、 https://github.com/DavidDurman/joint/blob/master/src/joint.dia.link.jsで GitHub ソースを見て、pointerdownを探します。これは私の結果です:
// custom element for link
// ---------------------------------------------------------------------------
joint.shapes.customLink = {};
joint.shapes.customLink.Element = joint.dia.Link.extend({
defaults: joint.util.deepSupplement({
type: "customLink.Element",
attrs: {},
}, joint.dia.Link.prototype.defaults),
});
joint.shapes.customLinkView = joint.dia.LinkView.extend({
pointerdown: function (evt, x, y) {
var targetParentEvent = evt.target.parentNode.getAttribute("event");
if (targetParentEvent && targetParentEvent === "remove") {
// YOUR STUFF HERE FOR REMOVE
} else {
joint.dia.LinkView.prototype.pointerdown.apply(this, arguments);
}
},
});