我已使用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/