gpt4 book ai didi

jquery - joint.js 在新的克隆元素上触发拖动开始

转载 作者:行者123 更新时间:2023-12-03 22:42:27 25 4
gpt4 key购买 nike

如何在关节js中的克隆关节元素上触发pointerdown/dragstart?当工具箱纸上触发 pointerdown 事件时,会触发 toolBoxPointerDown。当 _this.paperDrag 上触发 pointerup 事件时,会触发 addNode

var toolBoxPointerDown = function(cell, event) {
_this.action = 'addNode';
$(document.body).append(_this.paperDrag.$el);
_this.clone = cell.model.clone(), _this.cloneBbox = cell.getBBox();

_this.clone.set("position", {
x: cell.model.attributes.position.x,
y: cell.model.attributes.position.y
}), _this.paperDrag.addCell(_this.clone), _this.paperDrag.setDimensions("100%", "100%");

_this.paperDrag.$el.offset({
left: 0,
top: 0
});

_this.paperDrag.findViewByModel(_this.clone.id).pointerdown();
}

var addNode = function(node, position) {
var celltoAdd = _this.clone.clone();
celltoAdd.set('position', { x: _this.clone.get('position').x - $('.toolbox').width(), y: _this.clone.get('position').y });


if(celltoAdd.attributes.position.x > - 50){
renderNode(celltoAdd.attributes);
}
_this.paperDrag.$el.detach();
_this.clone.remove();
_this.action = 'nodeAdded';
}

最佳答案

将此代码添加到您的论文生成器中:

_this.paperDrag.on('element:pointerup', this.addNode , this);
_this.paperDrag.on('element:pointerdown', this.toolBoxPointerDown , this);
<小时/>

一些说明:joint.dia.ElementView内置了pointerdown和pointerup,这两个函数的最后一行代码是这样的:

this.notify('element:pointerdown', evt, x, y);

并且您的 paper.on('element:pointerdown') 会在该通知产生后执行。

关于jquery - joint.js 在新的克隆元素上触发拖动开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com