您的位置:首页 > 其它

给对象增加一个简单的自定义事件机制

2012-03-28 20:00 393 查看
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>给对象增加一个简单的自定义事件机制</title>

</head>

<body>

<script type="text/javascript">

function MyObject()

{

// 保存事件监听函数数组

this.RunEventListeners = new Array();

}

MyObject.prototype.Run = function()

{

// 在这里实现Run方法的代码并且触发

// 下边是激活onrun事件

for(var i = 0; i < this.RunEventListeners.length; i++)

this.RunEventListeners[i](this);

}

MyObject.prototype.AddEvent = function(name, listener)

{

switch(name.toLowerCase())

{

case "onrun":

this.RunEventListeners[this.RunEventListeners.length] = listener;

break;

// 还可以在这里增加各种事件,最好判断一下该listener是事已经被添加,以免重复执行,不过这里省了

default:

break;

}

}

function OnRun1(sender)

{

alert("已经执行了OnRun1事件")

}

function OnRun2(sender)

{

alert("已经执行了OnRun2事件");

}

var myobj = new MyObject();

// 添加两个监听函数

myobj.AddEvent("onrun", OnRun1);

myobj.AddEvent("onrun", OnRun2);

// 执行Run方法,如无例外,会触发onrun事件

myobj.Run();

</script>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: