今日学んだJavascriptの細かいこと

イベントの伝播にはcaptureとbubblingがある。
captureが先(親から子)、bubblingは後(子から親)。つまり親divと子spanがあったとして、それぞれのonclickイベントのcaptureとbubblingにリスナをつけておくと、クリックした際は以下の順番でリスナが呼ばれる。
1. 親のcapture
2. 子のcapture
3. 子のbubbling
4. 親のbubbling
Javascriptでは意識せずにイベントを扱うとbubblingになる。

DOMエレメントに勝手にプロパティを付け加えることができて便利。
ただし適当につけまくってるとわやくちゃになるのでうまく管理したいところ。

onBlurはブラウザ自体がフォーカスから外れた場合にも呼ばれる。
これを想定していないと変な処理が変なタイミングで行われてしまうかもしれないので要注意。

WinIEではevent.targetが使えない。
なのでこんな風に書こう。

function someAction(event){
	var target = event.target || event.srcElement;
	// ...yadda yadda yadda
}

moo.fxのEffectsはstart()じゃなく_start()で動く
API Docsには

new Fx.Style('element', 'opacity').start(1,0);

で動くって書いてあるくせに、なぜか実際にはアンダーバーがついていて_start()。

new Fx.Style('element', 'opacity')._start(1,0);

バージョンはmoo.fx for prototype.js 2.0。バージョンアップで直ったりするのかな?突然直られても迷惑やけども。

Categories: HowTo's, Tips and Tricks |Tagged , |