javascript - 问题执行拖放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]');
错误:
TouchInteractionEvents.js:262 Uncaught TypeError:无法在“文档”上执行“elementFromPoint”:提供的双精度值是无限的。
EventBus.js:377 TypeError:无法在“SVGTransform”上执行“setTranslate”:提供的浮点值是非有限的。
未捕获的类型错误:无法在“SVGTransform”上执行“setTranslate”:提供的浮点值是非有限的。
解决方案
推荐阅读
- java - 如何在我的 try catch 中重定向到我的错误视图?
- ios - iOS MDM 是否允许开发人员将“开发证书”/开发应用程序部署到 iPhone?
- java - setContentView(R.layout.activity_login)上的 InflateException;
- regex - bash 中的正则表达式 SQL 语法
- c# - 加载故障 XML
- delphi - 黑客能否访问已编译的 exe Delphi VCL 应用程序中的变量、方法、单元等的名称?
- python - 为什么 Nltk 导入不需要完整的包路径
- javascript - 选中 input[type='radio'] 时更改标签的背景颜色
- azure - 为什么 Azure 中的应用功能拒绝更新?
- jquery - 如何跨多个 Webpack 包共享同一个 jQuery 实例?