gatekeeper.jsなるものを作った
https://github.com/Layzie/gatekeeper.js
これだけ見ると何のこっちゃ?と思いますが。Vanilla.js用かつスマホブラウザ用のevent delegate専用ライブラリです。
今の案件で必要なんでCoffeeScriptで作ってみました。と、言っても一からオリジナルという訳ではなくVimeoの中の人が作ったgator.jsというライブラリのソースを参考に、モバイルブラウザにいらなそうな部分削ったり、趣味に合わない部分を変更したり…という事してます。READMEにも書いてますが。
一番悩んだ点は…これライセンス表記とかどうすんの?って所でした。ここに一応gator.jsをベースにしてるっていうの書いて、元がApache ライセンスだったんで踏襲してたりしますが。
最終的には、CoffeeScriptからの派生プロジェクトのLiveScriptとかを参考にしました。
forkしちゃえばまあ…という感じでしょうけど、コードは参考にしつつ、別言語(?)に移植して名前が違うとかいう場合はこれで良いんだろうか。ちょっと心配ですな。
使い方自体はほとんどjQueryとかと変わらずに
Gk(document).on('click', '.hoge a', function(e) { console.log(e.innerHTML); });
みたいな感じです。gator.jsのドキュメントとほぼ変わらないです。(GatorがGkになってるくらい) 一応、スマホで見れるデモはついてます。カッコ悪いけど。あと、テスト作りたいけど、どうしよう。ブランチは作ってあるけど何もしてないわ…。
名前の由来は、まあ親のDOMでイベントの門番みたいなもんだなーといって安易に付けました。S○NYの工作員とは関係がな…うわなにをするやめろ。
リポジトリ作った後にググってみたんですが、どうやらパスワードフォーム関係のJavaScriptのライブラリが既にあったりして、名前決める前に調べりゃ良かった…と若干の後悔をしたまま公開しました。
ニーズとしては非常にニッチなんじゃないかと思うのですが、ご紹介まで。(jQueryとかzepto.jsとかあれば、delegate付いてくるし)