我正在尝试在从模板拖到纸张元素上的形状上实现不同事件的代码。 pointup 事件会触发元素周围带有选项的光环。双击事件触发一些模式窗口,右键单击事件触发带有单击操作的自定义上下文菜单。我如何区分 Rappid 中的不同事件,例如左键单击、右键单击、单击鼠标滚轮。我的代码如下。
this.paper.on({
'element:pointerup': onElementClick,
//something like contextmenu
//'element:contextmenu': onElementRightClick,
});
这是我从 rappid 获得的用于单击和双击的解决方法。它正在工作,但我也在寻找右键单击功能。请帮忙。
paper.on({
'element:pointerdown': onElementClick
});
var clickTimerId;
function onElementClick(view) {
if (clickTimerId) {
// double click
window.clearTimeout(clickTimerId);
clickTimerId = null;
onElementDblClick(view);
} else {
// single click
clickTimerId = window.setTimeout(click, 200);
}
function click() {
clickTimerId = null;
// open halo and inspector here
}
}
function onElementDblClick(view) {
// open the modal window here
}
最佳答案
cell:contextmenu - 当用户右键单击纸张中的单元格时触发。
来自 jointjs api 文档 所以请尝试以下操作
paper.on({
'element:contextmenu': onElementRightClick
});
function onElementRightClick(view) {
}
关于javascript - 如何区分拖动到纸张元素的形状上的双击、右键单击和鼠标滚轮单击 JointJS Raappid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645183/