我已使用iframe在我的应用程序中集成了Dundas BI查看器,我遵循了官方文档中给出的示例。我可以在我的应用程序中看到仪表板。

javascript.override.js中,我可以覆盖javascript并获取Dundas对象,但没有找到任何要订阅的操作来捕获用户操作。

我想获取用户交互(DOM事件),有没有办法用适当的数据捕获交互事件?

最佳答案

Dundas BI提供了许多用户事件,所以我认为更多是关于您要捕获的事件。例如,如果您有一个名为chart1的图表,并且想通过javascript捕获'click'事件,则可以使用以下脚本通过ready操作来实现:

$(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.
});


要在x,y点处获取相关数据(例如,从上面的示例e.originalEvent中获取),可以使用如下代码:

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/

10-02 12:35