如何获得tap
活动位置?
在这里,我试图在tap
...上添加一个节点,但我不知道如何获取特定坐标以传递给rendererPosition
新节点的属性。
cy.on('tap', function (e) {
if (e.cyTarget === cy) {
//var pos = $(this).position().left, //tried this, as jquery
//posY = $(this).position().top; //positioning without success
var idNum = cy.nodes().size();
var setID = idNum.toString();
cy.add([{
group: "nodes",
data: {
id: "n" + setID
},
renderedPosition: {
x: e.pageX, //- posX,
y: e.pageY //- posY
},
}]);
}
});
使用相同的代码但与$('#cy').click
函数绑定,它可以工作......但是通过cy.on('tap')
方式,事件e
没有pageX
andpageY
属性,我也不能使用$(this).position()
函数获取元素位置。
我真的更喜欢使用tap
,因为我正在尝试为移动界面开发我的应用程序。
提前致谢。
编辑:使用@darshanags 观察和这个链接,我解决了这个问题:
var idNum = cy.nodes().size(),
setID = idNum.toString(),
offset = $("cy").offset(),
position = {
x: e.originalEvent.x - offset.left,
y: e.originalEvent.y - offset.top
};
cy.add([{
group: "nodes",
data: { id: "n" + setID },
renderedPosition: {
x: position.x,
y: position.y
},
...
}]);