Chinaunix首页 | 论坛 | 博客
  • 博客访问: 409235
  • 博文数量: 159
  • 博客积分: 372
  • 博客等级: 一等列兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-13 17:05
个人简介

致力于图形处理和移动开发。

文章分类

全部博文(159)

文章存档

2014年(77)

2013年(67)

2012年(15)

我的朋友

分类: Web开发

2014-05-09 10:11:13

我们在使用FusionCharts图表的时候,需要使用一些事件监听来帮助我们了解Flash加载图表数据的情况,因此,慧都小编特意在本文中总结了近20个事件API,如果大家在使用FusionCharts图表的过程中也整理了其他事件API,也请大家多多分享。

1、FusionCharts API:Initialize(初始化)事件

提示用户图表组件相关的Flash和JS文件等等是否准备就绪,能够创建FusionCharts对象。

///添加初始化完成的事件Initialized
FusionCharts.addEventListener('Initialized', function (identifier, parameter) {
alert(identifier.sender.id + "图表已经初始化完成");
});
var myChart = new FusionCharts("/swf/Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData('');
myChart.render("chartContainer");

2、FusionCharts API:DataUpdated(数据更新)事件

主要是监听图表组件有数据加载的时候就会提示这个信息。

///添加初始化完成的事件DataUpdated
FusionCharts.addEventListener('DataUpdated', function (eventObject, argumentsObject) {
alert(eventObject.sender.id + "数据更新")
});

3、FusionCharts API:Loaded(数据加载)事件

主要是用于判断图表是否加载到指定的DIV容器内

var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData('');
myChart.render("chartContainer");
///监听Loaded事件 判断是否已经加载数据
myChart.addEventListener("Loaded", function (evt, args) {
alert(evt.sender.id + "图表已经被加载。");
});

4、FusionCharts API:Rendered(呈现)事件

主要是用于判断Flash图表是否已经呈现在DIV容器内,且已经能够看到Flash图表的雏形。

var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData('');
myChart.render("chartContainer");
///监听Rendered事件 判断是否已经呈现于DIV容器内
myChart.addEventListener("Rendered", function (evt, args) {
alert(evt.sender.id + "图表已经呈现于DIV容器内");
});

5、FusionCharts API:DrawComplete(画完成)事件

主要用于判断提供给Flash的数据是否完全在图标上得到展现,且全部完成。这个事件很重要,对于那些一个页面有多个图表,且需要一个个加载的时候,就可以使用这个事件,具体见如下Code中所述。

function DrawChartOne() {
var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData('');
myChart.render("chartContainer");
//添加监听事件DrawComplete,判断图表是否画完全
myChart.addEventListener("DrawComplete", function () {
alert("图表1已经全部画完。");
//开始这手加载图表2
DrawChartTwo();
}
);
}
//加载图表2
function DrawChartTwo() {
var myChartTwo = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChartTwo.setXMLData('');
myChartTwo.render("chartContainer");
//添加监听事件DrawComplete,判断图表是否画完全
myChartTwo.addEventListener("DrawComplete", function () {
alert("图表2已经全部画完。");
//然后这里该干嘛就干嘛
}
);
}
//初始化页面 加载图表
$(document).ready(function () {
DrawChartOne();
});

6、FusionCharts API:Resized(缩放)事件

当图表大小(高、宽)值发生变化的时候,就会触发此事件。

var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "100%", "100%", "0", "1");
myChart.setXMLData('');
myChart.render("chartContainer");
//监听缩放事件
myChart.addEventListener("Resized", function (evt, args) {
alert(evt.sender.id + "图表已经缩放 从 ( width: " + args.prevWidth + ", height: " + args.prevHeight + ") 到 (width: " + args.width + ", height: " + args.height + ")");
});

7、FusionCharts API:Exported(导出图表)事件

当我们允许图表有导出菜单的情况下,导出图表的时候,会提示您是否可以导出。

//监听图表导出事件
myChart.addEventListener("Exported", function (evt, args) {
alert(args.DOMId + (args.statusCode ? " 图表已经导出" : "图表不能够被导出"));
});

8、FusionCharts API:PrintReadyStateChange(准备好打印)事件

9、FusionCharts API:BeforeLinkedItemOpen(点击图表内项目)事件

10、FusionCharts API:LinkedItemOpened(点击图表内项目已经响应)事件

11、FusionCharts API:BeforeLinkedItemClose(连接打开项目开始关闭)事件

12、FusionCharts API:LinkedItemClosed(连接打开项目已经关闭)事件

13、FusionCharts API:DataLoadError(图表数据加载错误)事件

可以便于我们判断错误定位位置,数据源提供有误/Flash地址不正确/DIV容器不存在;

14、FusionCharts API:DataXMLInvalid(XML数据提供有问题)事件

用于判断我们提供给FusionCharts图表的XML数据格式存在问题;

var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData(">");
myChart.render("chartContainer");
//用户判断XML数据格式存在错误
function FC_DataXMLInvalid(DOMId) {
alert("Invalid XML data error occured in chart having id - " + DOMId);
}

15、FusionCharts API:NoDataToDisplay(没有数据)事件

用于判断提供给图表的数据没有。只有一个空空的chart。

var myChart = new FusionCharts("../../../../Charts/Column3D.swf", "myChartId", "400", "300", "0", "1");
myChart.setXMLData("");
myChart.render("chartContainer");
//用户判断图表没有任何数据
function FC_NoDataToDisplay(DOMId) {
alert("没有人任何数据展示在图表内- " + DOMId);
}

16、FusionCharts API:BeforeDispose(图表即将释放)事件

FusionCharts.addEventListener(FusionChartsEvents.BeforeDispose, function (identifier, parameter) {
alert(identifier.sender.id + "图表即将释放");
});

17、FusionCharts API:Disposed(图表已经释放)事件

FusionCharts.addEventListener("Disposed", function (identifier, parameter) {
alert(identifier.sender.id + "图表已经释放掉。");
});

 

阅读(656) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~