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

本文介绍如何为对象创建并使用简单的自定义事件机制,通过实例演示事件监听和触发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <html>

  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  4. <title>给对象增加一个简单的自定义事件机制</title>
  5. </head>

  6. <body>
  7. <script type="text/javascript">
  8. function MyObject()
  9. {
  10.         // 保存事件监听函数数组
  11.         this.RunEventListeners = new Array();
  12. }

  13. MyObject.prototype.Run = function()
  14. {
  15.         // 在这里实现Run方法的代码并且触发
  16.         // 下边是激活onrun事件
  17.         for(var i = 0; i < this.RunEventListeners.length; i++)
  18.                 this.RunEventListeners[i](this);
  19. }

  20. MyObject.prototype.AddEvent = function(name, listener)
  21. {
  22.         switch(name.toLowerCase())
  23.         {
  24.                 case "onrun":
  25.                         this.RunEventListeners[this.RunEventListeners.length] = listener;
  26.                         break;
  27.                 // 还可以在这里增加各种事件,最好判断一下该listener是事已经被添加,以免重复执行,不过这里省了
  28.                 default:
  29.                         break;
  30.         }
  31. }

  32. function OnRun1(sender)
  33. {
  34.         alert("已经执行了OnRun1事件")
  35. }

  36. function OnRun2(sender)
  37. {
  38.         alert("已经执行了OnRun2事件");
  39. }

  40. var myobj = new MyObject();

  41. // 添加两个监听函数
  42. myobj.AddEvent("onrun", OnRun1);
  43. myobj.AddEvent("onrun", OnRun2);


  44. // 执行Run方法,如无例外,会触发onrun事件
  45. myobj.Run();
  46. </script>
  47. </body>

  48. </html>

转载于:https://www.cnblogs.com/shihao/archive/2012/03/28/2421908.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值