Re: [討論] 關於event handler
剛剛看了一下jquery的原始碼。
jquery用了三層索引,把handler存放在$.cache裡面。
jquery載入時會在那個匿名函數裡面產生一個區域變數叫做expando,在element上面
操作時,會為element加入一個attribute,名稱是expando的值,attribute的值是在
匿名函數裡面遞增的一個區域變數叫做uuid。另外$.event.guid是個由jquery維護的
索引,每加一個handler就會遞增。
理論上,透過$.cache[elem[expando]]['event'][type][guid]就可以取得各個handler
,問題是這個expando封裝在匿名函數裡面,而且應該沒有介面可以存取。
(上面的type可能是'click'....等)
--
Sapere Aude! 這就是啟蒙運動的口號!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.95.16
※ 編輯: fillano 來自: 60.250.95.16 (11/25 15:09)
→
11/25 15:37, , 1F
11/25 15:37, 1F
→
11/25 15:38, , 2F
11/25 15:38, 2F
→
11/25 21:44, , 3F
11/25 21:44, 3F
→
11/25 21:50, , 4F
11/25 21:50, 4F
→
11/25 21:51, , 5F
11/25 21:51, 5F
→
11/25 21:52, , 6F
11/25 21:52, 6F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章