1

ステンシルから紙要素にドラッグされた形状にさまざまなイベントのコードを実装しようとしています。pointerup イベントは、要素の周りにオプションを持つハローをトリガーします。ダブルクリック イベントはいくつかのモーダル ウィンドウをトリガーし、右クリック イベントはクリック アクションを含むカスタム コンテキスト メニューをトリガーします。左クリック、右クリック、マウスホイールのクリックなど、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
}
4

1 に答える 1

0

cell:contextmenu - ユーザーが紙のセルを右クリックしたときにトリガーされます。

jointjs apiのドキュメントからなので、以下を試してください

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

function onElementRightClick(view) {

}
于 2017-01-04T14:14:53.793 に答える