2016-04-11 11 views
0

私はアプリケーションにiframeを使用してDundas BIビューアを統合しました。私は公式ドキュメントで与えられたサンプルに従っていました。私は私のアプリでダッシュボードを見ることができます。ユーザーアクションを取得する方法は?

javascript.override.js私はjavascriptを無効にしてDundasオブジェクトを取得できますが、ユーザーの操作をキャッチするために登録するイベントは見つかりませんでした。

私はユーザーのやりとり(DOM Events)を得たいと思っていましたが、適切なデータとの対話イベントをキャッチする方法はありますか?

答えて

2

Dundas BIは多くのユーザーイベントを提供していますので、どのイベントを捕まえたいのですか?

$(chart1).bind(dundas.view.controls.AdapterConstants.clickEventName, function (e) { 
    // here you can access e to get various information about the click event, 
    //including the original jQuery event under e.originalEvent. 
}); 

は、いくつかの関連データを取得するために:あなたはchart1という名前のチャートを持っているとあなたはjavascriptを通じ「クリック」イベントをキャッチしたい場合たとえば、あなたは以下のスクリプトとready作用を介してそれを行うことができます(上記の例e.originalEventからなど)のx、yのポイントは、このようなものを使用することができます:

:いつでもあなたはまた、コントロールを介して上の現在のデータにアクセスできることを覚えておいてください

var jQevent = e.originalEvent; 
var relatedData = chart1.getContext({ 
"position": { 
    "e": jQevent, 
    "left": jQevent.offsetX, 
    "top": jQevent.offsetY 
} 
}); 

chart1.metricSetBindings[0].dataResult.cellset 
詳細については

あなたはここで多くのスクリプトの例を見ることができます: http://www.dundas.com/support/support-center/support-articles/scripting/

をとJavaScript APIのドキュメントはここで見つけることができます: http://www.dundas.com/support/api-docs/js/

+0

私は一般的な方法でそれを持ってしたいと思い、ダッシュボードが含まれているとしましょうダッシュボードの任意のコントロールをクリックするダッシュボードのイベントが1つしかない場合、適切なデータを指定してコールバックを発生させる必要がある場合は、各コントロールを別々に処理する必要はありません。テーブル行をクリックして使用すると仮定すると、ダッシュボードイベントは{control:table1、action:rowSelection、rowData:{...}}のようなデータで起動する必要があります。 –

+0

いいえ、子 - >親関係を持たない要素からのイベントの一般的なDOMバブリングがないため、汎用イベントはありません。 – automaton

関連する問題