一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

給自定義對象加上自定義事件的支持的教程

我一般是不看別人寫的代碼的,為啥?累!而且這位同志給的還是經(jīng)過壓縮的!汗。。。考我是不是?還有,這位同志也不給個示例的代碼,只說是代碼沒有問題。我努力的試著去“破解”,但是腦細(xì)胞死的太快了!在我沒有變成白癡之前,我毅然決定,不在往下看下去。不就是給自定的對象加入自定事件的支持嗎?我寫個示例吧,就算是教程了,如果看不懂,我也沒有辦法了!我不會傻到給你寫好代碼,讓你拿去賣錢的!
好了,下面是我寫的代碼,注意看了:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
示例中,自定義了一個:JCEvent,c1,c2,c3都是這它的實例。
每個實例都有一個oOutline,我一般用它來做為對象的容器。pParent是用來指示自定義對象在哪里顯示的,也就相當(dāng)于占位符吧,如果不指定,就是document.body。

示例中,我定義了三個自定事件:onCreate,onChangeSkin,onClick
onCreate 在 create方法里觸發(fā)。
onChangeSkin在setSkin方法里觸發(fā)。
onClick在oOutline.onclick里觸發(fā)。

調(diào)用順序:
由于onCreate是在create方法里調(diào)用的,所以c1.onCreate要在c1.create()之前聲明。

事件的參數(shù),見:

 this.setSkin = function(pSkin){
  var oldSkin = oOutline.className;
  oOutline.className = pSkin;

  if(typeof this.onChangeSkin == "function")
   this.onChangeSkin(oldSkin,pSkin);
 }


this.onChangeSkin(oldSkin,pSkin);
這樣,你就可以在每個實例里運(yùn)用oldSkin和newSkin了。

如:
 c1.onChangeSkin = function(pOld,pNew){
  alert("onChangeSkin事件/n設(shè)置c1的皮膚:/n新皮膚:" + pNew + "/n舊皮膚:" + pOld);
 }


另外,示例中:

 $.$css = function(pKey,pValue,p){
  var obj = p ? $.$(p) : this;
  obj.style[pKey] = pValue;
  obj.$css = $.$css;
  return obj;
 }

這一段,寫成Object.prototype.$css = function(...)是絕對不成功的,至于為什么,就不是這里的討論范圍。


沒話可說了,就留空白吧,看不懂的同志,在補(bǔ)補(bǔ)你們的Javascript知識。
說點題外話:不要老是整jQuery,prototype,json等。

JavaScript技術(shù)給自定義對象加上自定義事件的支持的教程,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美成人网在线综合视频 | 日韩美女毛片 | 久久综合一区 | 色天天综合色天天害人害己 | 久久机热这里只有精品无需 | 欧美视频a | 国产专区91 | 精品国产日韩亚洲一区二区 | 欧美日韩中文亚洲另类春色 | 91精品国产免费久久国语麻豆 | 色噜噜狠狠狠综合曰曰曰88av | 四虎伊人| 久久国内视频 | 亚洲一区精品伊人久久伊人 | 色热综合 | 91精品啪在线观看国产18 | 久久久久国产免费 | 久久精品视频一区 | 国产精品高清一区二区三区不卡 | 丁香五六月婷婷 | 国产精品免费视频网站 | 亚洲精品免费在线视频 | 久在线观看 | 国产区图片区小说区亚洲区 | 999精品免费视频 | 亚洲不卡一区二区三区在线 | 国产日韩精品欧美一区喷 | 午夜免费小视频 | 精品久久久久久综合日本 | 久久手机免费视频 | 色5月婷婷| 黄网页在线观看 | 男人进去女人爽免费视频国产 | 久久久亚洲精品国产 | 四虎永久在线观看视频精品 | 日本一区深夜影院深a | 婷婷国产偷v国产偷v亚洲 | 亚洲欧洲日产国码 最新 | 亚洲成精品动漫久久精久 | 午夜精品福利视频 | 成人第一页 |