ステンシルから紙要素にドラッグされた形状にさまざまなイベントのコードを実装しようとしています。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
}