2012-02-09 12 views
2

右クリックイベントにバインドまたは認識するにはどうすればよいですか?イベントを右クリックするとバインドされます

私はクリックした場所でポイントを左クリックすると点を追加します。ポイントを削除するには右クリックしてください(存在する場合)。

これは私の現在のコードです:これは役立つはず

var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container', 
     events: { 
      click: function(event) { 
       var cs = [Math.floor(event.xAxis[0].value), 
         Math.floor(event.yAxis[0].value)]; 
       this.series[0].addPoint(cs); 
      } 
     }, 
     type: 'scatter', 

    }, 
    ... etc. ... 
}); 

答えて

0
+0

私はLMGTFYの試みに感謝しますが、これは本当に有用ではありません - 1)将来のリリースを使用できるようにHighChartsにパッチを当てたくない、2)コンテキストメニューが不要です。 –

0

これは完全な解決策ではありません。私は、イベントを右クリックしキャプチャする方法を見つけ出すませんでした。

しかし、ここでは、グラフの背景をクリックするための回避策です:

  • は、
  • がコールバックで
  • 以前のようにコールバックを供給シフトがクリックイベントを調べ行うユーザーを持っています。シフトが押された場合は、ここで

コールバックがどのように見えるかだ別の何かの操作を行います。

function clickChart(event) { 
    var isShiftPressed = event.shiftKey; 
    if(isShiftPressed) { 
     // do something 
    } else { 
     // do something different 
} 

イベントオブジェクトにはブール値を持つ属性をshiftKey(およびaltKey)。ここで

はポイントを除去するための回避策です:(!実際に、それは回避策はありません - 私はちょうど簡単な方法があった実現しなかった)

  • ポイントはただ、自分のイベント
  • を持っています彼らがクリックしているときのポイントを削除するコールバックを設定

例:

function clickPoint(event) { 
    this.remove(); 
} 

var chart = new Highcharts.Chart({ 
    chart: { 
     type: 'scatter', 
     renderTo: 'chart', 
    }, 
    series: [{ 
     point: { 
      events: { 
       click: clickPoint 
      } 
     } 
    }] 
}); 

注:ドキュメントは誤解を招くものではありませんが、jsfiddleの例は正しいようです。 pointのオプションはではなく、seriesであることがわかります。

関連する問題