首页 > 解决方案 > 问题执行拖放javascript“提供的浮点值是非有限的” - BPMN

问题描述

我正在尝试在此网站上执行拖放操作:https ://demo.bpmn.io/new

为此,我使用以下 javascript 代码:

var dataTransfer=
            {
                dropEffect:'',
                effectAllowed:'all',
                files:[],
                items:{},
                types:[],
                setData:function(format,data)
                {
                    this.items[format]=data;
                    this.types.append(format);
                },
                getData:function(format)
                {
                    return this.items[format];
                },
                clearData:function(format){}
            };
var emit=function(event,target)
                {
                    var evt=document.createEvent('Event');
                    evt.initEvent(event,true,false);
                    evt.dataTransfer=dataTransfer;
                    target.dispatchEvent(evt);
                };

function getElementByXpath(path) {return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;}; 

var DragNDrop=function(src,tgt) {
    src = getElementByXpath(src);
    tgt = getElementByXpath(tgt);
    emit('dragstart',src);
    emit('dragenter',tgt);
    emit('dragover',tgt);
    //Errors start from here
    emit('drop',tgt);
    emit('dragend',src);
    return true;
}  

代码应该是正确的,因为当我使用它在此网站中执行拖放操作时它可以工作: https ://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop

问题是,当我在 bpmn 示例(https://demo.bpmn.io/new)上使用它时,它不起作用。这是使用的命令及其相关错误:

命令:

DragNDrop('//*[@class="entry bpmn-icon-intermediate-event-none"]', '(//*[starts-with(@data-element-id,"Lane")])[1]');

错误:

标签: javascriptbpmn

解决方案


推荐阅读