如何区分dblclick,右键单击和鼠标滚轮单击拖动到纸张元素上的形状JointJS Rappid

时间:2016-11-17 01:19:24

标签: javascript jointjs rappid

我正在尝试为从模板拖到纸质元素的形状上的不同事件实现代码。指针事件触发带有元素周围选项的光环。双击事件触发一些模态窗口,右键单击事件触发一个带有单击操作的自定义上下文菜单。如何区分Rappid中的不同事件,如leftclick,右键单击鼠标滚轮。我的代码如下。

this.paper.on({
        'element:pointerup': onElementClick,
         //something like contextmenu
        //'element:contextmenu': onElementRightClick,
    });

这是一个解决方法,我从rappid获得点击和双击。它正在工作,但我也在寻找rightclick功能。拜托,帮助。

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
}

1 个答案:

答案 0 :(得分:0)

cell:contextmenu - 当用户右键单击文章中的单元格时触发。

来自jointjs api文档的

所以请尝试下面的

paper.on({
    'element:contextmenu': onElementRightClick
});

function onElementRightClick(view) {

}