タグ

2012年12月20日のブックマーク (2件)

  • jQueryのdelegateとtap-highlightの悩ましい関係

    こんにちは、しもだです。 jQueryでイベントハンドラをDOM要素にバインドする場合、bind(), live(), delegate()と いくつかの方法があるのはみなさんご存じと思います。 おおざっぱにいうと、 bind()は対象要素に直接addEventListener()するのとほぼ同等、 イベント発火⇒ハンドラ実行 live/delegateはイベントのバブリングを拾って セレクタのマッチングを行いながら(マッチしたら)ハンドラ実行 という動きをします。 # 注: jQuery1.7からはon(), off()ができたため、関数名的には同じになってしまいました。 DOM要素が動的に追加されるような場合、あるいは対象要素が多い場合には delegate()が大変重宝しますが、これをスマートフォン/タブレットで使うと 条件により少し困ったことが起こります…というのが今日のお話です。

    potato777
    potato777 2012/12/20
    backbone.js のevent "click" でハマった
  • JavaScript(V8)で避けるべき(だった?)クロージャの使い方 - kazuhoのメモ置き場

    Grokking V8 closures for fun (and profit?) に、ほんの少しだけ触れられている話なんですが。 ごく最近まで V8 には、オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる(というかGCが多発する)問題があった。 たとえば、 function doit() { for (var i = 0; i < 1000; ++i) { for (var j = 0; j < 1000; ++j) { var o = { f: function () { return i + j; } }; } } } doit(); というコードを node-0.6.19 で実行すると、以下のように mark-sweep GC が大量に発生して処理に時間がかかっていることが分かる。 $ time /usr/local/node-0.6.19/bin/node -

    JavaScript(V8)で避けるべき(だった?)クロージャの使い方 - kazuhoのメモ置き場