代碼如下
<script type="text/javascript">
YUI().use('event-custom', 'attribute', 'node', function(Y) { //應用attribute模塊
function Connector(url) {
(function structure() { //()()充當Connector的構造子,讓new Connector()時直接執行
Y.augment(Connector, Y.EventTarget);
Y.augment(Connector, Y.Attribute); //屬性設置
this.url = url;
})();
this.publish("evnet:testEvent");
// 屬性配置信息,此處配置了url 、data兩個屬性
var attris = {
url : {
value : "" //單屬性值
},
data : {
value : {} //對象屬性
}
};
this.addAttrs(attris); //給Connectort添加屬性
this.accept = function() { //set屬性
this.set("data",{
protocolx:"http",
portx:"8080",
aptDatax:"123456"
}
);
this.set("url","http://xxxxxxxxxxxxxxxxx");
this.fire("event:testEvent", {
target : this
}); //發佈事件
};
}
var p = new Connector("http://xxxx"); //實例化
p.on("event:testEvent", function(e) { //監聽事件
var obj = e.target.get("data");
//get出屬性
alert(e.target.get("data").protocolx+","+obj.aptDatax+","+e.target.get("url"));
});
p.accept(); //調用方法,觸發事件
p.set("url","再玩一下!")
alert(p.get("url"));
});
</script>