在指针向下事件-JointJS上创建动态链接

时间:2016-08-31 11:57:32

标签: jointjs

是否可以在JointJS中从参考点(x,y)开始创建交互式动态链接,而不是从端口或使用光环绘制它。

此致 Achyut

1 个答案:

答案 0 :(得分:4)

JointJS中有一些未记录的方法可能会帮助您解决这个问题。更多内联。

paper.on('blank:pointerdown', function(evt, x, y) {

    var linkView = this.getDefaultLink()
            .set({
                'source': { x: x, y: y },
                'target': { x: x, y: y }
            })
            .addTo(this.model)
            .findView(this);

    // initiate the linkView arrowhead movement
    linkView.startArrowheadMove('target');

    $(document).on({
        'mousemove.example': onDrag,
        'mouseup.example': onDragEnd
    }, {
        // shared data between listeners
        view: linkView,
        paper: this
    });


    function onDrag(evt) {
        // transform client to paper coordinates
        var p = evt.data.paper.snapToGrid({
            x: evt.clientX,
            y: evt.clientY
        });
        // manually execute the linkView mousemove handler
        evt.data.view.pointermove(evt, p.x, p.y);
    }

    function onDragEnd(evt) {
        // manually execute the linkView mouseup handler
        evt.data.view.pointerup(evt);
        $(document).off('.example');
    }

});