微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何在关节js中的克隆关节元素上触发pointerdown / dragstart?
在工具箱纸张上触发指针向下事件时触发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’)在该通知产生后执行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值
jQuery如何清空form表单数据
jQuery怎么删除元素节点
JQuery怎么循环输出数组元素
jquery怎么实现点击刷新当前页面