3089589

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

<html>
    <head></head>
        <script src="./yui/build/yui/yui-min.js"></script>
<script type="text/javascript">
YUI().use('node-event-simulate', 'base', function(Y) {
    Y.log('test1');
    var Module1 = function(){
        Module1.superclass.constructor.call(this);
        this.publish('change', {
            emitFacade : true,        /*true表示可以用一个对象来触发事件,如下的Module2*/
            broadcast : 2             /*默认0只能在该方法内被触发,1表示在该沙箱内,2表示可以在不同沙箱内*/
        })
    }
    Module1.NAME = 'm1';
    Y.extend(Module1, Y.Base);

    var m = new Module1();
    Y.one('#button1').on('click', function(e, module){
        Y.log('button1 clicked!');
        module.fire('change', 'hello');
    }, this, m)
});
</script>


<script type="text/javascript">
YUI().use('node-event-simulate', 'base', function(Y) {
    Y.log('test2');
    function Module2(){  
        Module2.superclass.constructor.call(this);  
    }  
      
    Y.extend(Module2, Y.Base, {  
        update:function(args){  
            Y.log("Module2 knowns Module1's change :"+args);  
        }
    });
    var m = new Module2();
    Y.Global.on('m1:change', function(e, args, module){
        module.update(args);
    }, this, m)
});
</script>
    <body>
<div id="demo">
    <ul>
        <li><a href="#foo">foo</a></li>
        <li><a href="#bar">bar</a></li>
        <li><a href="#baz">baz</a></li>
    </ul>
    <div>
        <div id="foo">
            <p>foo content</p>
        </div>
        <div id="bar">
            <p>bar content</p>
        </div>
        <div id="baz">
            <p>baz content</p>
        </div>
    </div>
    <input type="button" id="button1" value="click me!"/>
</div>
        
    </body>
</html>
posted on 2013-03-26 09:26  liangge0218  阅读(174)  评论(0)    收藏  举报