DOMで取得する速度を上げる その1
ぬ。
mouseover_menu1.__name = 'mouseover_menu2'; mouseout_menu1.__name = 'mouseout_menu2'; mouseover_menu1.registEvent(this); mouseout_menu1.registEvent(this); mouseover_menu1.__name = 'mouseover_menu3'; mouseout_menu1.__name = 'mouseout_menu3'; mouseover_menu1.registEvent(this); mouseout_menu1.registEvent(this);
こーいうのださいので改造すべし。
そもそもidにこだわる理由は性能なんだよ。
idで複数指定できりゃあいいんだよね。
で爆速にこだわってる人があのAlex大先生なわけなんだけど。
Alex大先生のblogにも書かれているけど要は
全部idで引け
え?idって一意だから…って感じだけど
function elementsById(id){ var nodes = []; var tmpNode = document.getElementById(id); while(tmpNode){ nodes.push(tmpNode); tmpNode.id = ""; tmpNode = document.getElementById(id); } for(var x=0; x<nodes .length; x++){ nodes[x].id = id; } return nodes; }
こうやると複数指定でいけるんじゃね?みたいな。
実際にこのテクは使われてる箇所があって、あまり知られていないかも知れないけどdojoにもbehaviorが存在してるんです。
中を見るとapplyFastとかslowとかわかりやすいですなw
classNameでやるとおっせーみたいな。
なのでKumuでもid複数対応はとりあえずやろうかなと。
追記
dojo.behaviorはExperimentalレベルだそうです。
うくく。