JavaScript コードを HTML から分離する
なんてことができるらしい
Behaviour.js では、関数を実行する場所は CSS セレクタで指定します。これには感動しました!外部 js ファイル内で CSS セレクタを使うことで関数の適用場所を指定できるんですよ?道理で HTML ソースが綺麗さっぱりするわけです。
我的春秋: JavaScript ソースが HTML から消える日
我的春秋: 続 JavaScript ソースが HTML から消える日
behaviour.js を覗いてみたところ、どうやら
- JavaScript を適用したい部分の属性を改変する関数を作る
- それらの関数に、適用したい箇所の css の属性名と同じ名前を付け、1つのオブジェクトにまとめる
- そのオブジェクトを Behaviour.register にて登録
- すると、Behaviour がロード時に登録した関数を呼び出してくれる
ってことやるみたいっすね。たぶん*1
JavaScript ならではのコードみたいですね〜。
css の属性名をそのままセレクタとしてオブジェクト生成するというのは、見ていて面白いですわ。
アスペクト指向と似たような考え方ですけど、AOPも次第に流行っていくんでしょうかね。
似たようなこと考えたことありますけど、既に出回っているというのは気づかなかった (^-^;
*1:自信ない orz