如何给对象添加自定义事件?急

gui1401 2007-03-13 03:54:21
如何给对象添加自定义事件?像dotnet一样。
...全文
305 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apq001 2007-03-14
  • 打赏
  • 举报
回复
借鉴C#事件和委托,一个委托对象就是相当于有一个函数指针列表,调用委托的时候就逐个调用列表里的函数.事件是基于委托来的,增加了权限控制,可以看成是具有权限管理的委托.

这样清楚了,那就用JS写一个委托类,由于JS没有办法做到权限控制,委托出来了,事件也就是它了.

我自己就是这么弄的.
muxrwc 2007-03-13
  • 打赏
  • 举报
回复
<script type="text/javascript">
var addEvent = function (func) {
var ary = Array.prototype.slice.call(arguments, 1), o_func = func, n_func = function () {
for (var i = 0 ; i < ary.length ; i ++) ary[i]();
o_func.apply(null, Array.apply(null, arguments));
};
return n_func;
};
var wc = function (a, b, c, d) {
alert(a + b == c - d);
}, show0 = function () {
alert("show0");
}, show1 = function () {
alert("show1");
};
wc = addEvent(wc, show0, show1);
wc(1, 1, 1, 1);
</script>
只是函数的话可以这样。。如果是对象的话,去看顶帖:
【转贴】给对象增加一个简单的自定义事件机制
即可。。
he_8134 2007-03-13
  • 打赏
  • 举报
回复
自己写是浪费时间~~
下载个Microsoft AJAX Library~~~客户端类库~~
里面实现了这样的功能~~而且实现了浏览器兼容~
gui1401 2007-03-13
  • 打赏
  • 举报
回复
Amwpfiqvy(给我分吧,让我升仙)
举例说明一下?
Apq001 2007-03-13
  • 打赏
  • 举报
回复
当然可以.JavaScript也是很强大的语言的,只是运行效率不高而已.
至于做法,不拘泥于一种,你可以自已创新,我就有做这些,不过,不成熟,不好意思拿出手让人笑话.
gui1401 2007-03-13
  • 打赏
  • 举报
回复
任何情况下,只要我调用某个方法,就能触发事件。不可以吗?
hansonboy 2007-03-13
  • 打赏
  • 举报
回复
看你这个: 特定条件是什么
gui1401 2007-03-13
  • 打赏
  • 举报
回复
回帖的全是星。js能实现我的要求吗?
gui1401 2007-03-13
  • 打赏
  • 举报
回复
就是给对象添加一个系统没有的事件。这样可以在特定条件下触发此事件。
下面是c#的代码。我想在js里实现类似的功能
public event System.EventHandler window_return ;
private void TextBox_TextChanged(object sender, System.EventArgs e)
{
window_return (sender, e);
}
Apq001 2007-03-13
  • 打赏
  • 举报
回复
飘过~~
muxrwc 2007-03-13
  • 打赏
  • 举报
回复
吹过。
hbhbhbhbhb1021 2007-03-13
  • 打赏
  • 举报
回复
置顶帖
hbhbhbhbhb1021 2007-03-13
  • 打赏
  • 举报
回复
自定义什么事件?具体说说看

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧