如何给对象添加自定义事件?急
如何给对象添加自定义事件?像dotnet一样。
------解决方案--------------------自定义什么事件?具体说说看
------解决方案--------------------置顶帖
------解决方案--------------------吹过。
------解决方案--------------------飘过~~
------解决方案--------------------看你这个: 特定条件是什么
------解决方案--------------------当然可以.JavaScript也是很强大的语言的,只是运行效率不高而已.
至于做法,不拘泥于一种,你可以自已创新,我就有做这些,不过,不成熟,不好意思拿出手让人笑话.
------解决方案--------------------自己写是浪费时间~~
下载个Microsoft AJAX Library~~~客户端类库~~
里面实现了这样的功能~~而且实现了浏览器兼容~
------解决方案-------------------- <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>
只是函数的话可以这样。。如果是对象的话,去看顶帖:
【转贴】给对象增加一个简单的自定义事件机制
即可。。
------解决方案--------------------借鉴C#事件和委托,一个委托对象就是相当于有一个函数指针列表,调用委托的时候就逐个调用列表里的函数.事件是基于委托来的,增加了权限控制,可以看成是具有权限管理的委托.
这样清楚了,那就用JS写一个委托类,由于JS没有办法做到权限控制,委托出来了,事件也就是它了.
我自己就是这么弄的.