2

Raphaelのノード関数を使用してDOMオブジェクトを取得し、コンテキストメニュー用のイベントハンドラーを1つ追加しようとしています。ただし、DOMオブジェクトのイベントハンドラーからRaphael要素を取得する必要がありますか?

明確にするために、サンプルコードは次のようになります。

var circle = paper.circle(100, 100, 100);
var domObject = circle.node;
var ele = domObject.get(0).raphael; // It's required in the domObject's event handler

誰かがそれを達成する方法を知っていますか?

4

1 に答える 1

0

これを直接機能させるために必要な追加作業はほとんどありません。jquery contextMenu リソース (js、css、任意の画像) がすべて利用可能で、Raphael ペーパーがあると仮定しますpaper

var x = 200, y = 200, r = 100, fs = 36;
var circle = paper.circle( x, y, r ).attr( { fill: 'red', 'fill-opacity': 0.5 } );
var label = paper.text( x, y, "CLICK" ).attr( { fill: 'white', 'fill-opacity': 0.75, 'font-size': fs, 'font-weight': 800 } );
var set = paper.set( circle, label );
$(set.node).contextMenu( { menu: 'myMenu' } );

このコードのモックアップは、私の Web サイト で見ることができます。コンテキスト メニューが私の CSS と競合するという問題がいくつかありますが、基本的な機能はそこにあることがわかります。

于 2012-08-10T17:03:27.983 に答える