JavaScript
RailsっぽくHTMLのフォームをJSのオブジェクトに変換するjQueryプラグインを作りました。たぶん車輪の再発明だけど、僕のググり力では見つけられなかったので。 yuku-t/jquery-formdata たとえばこんなHTMLがあるとします。 <form id="item_form"> <input name="token" value="TOKEN"/> <input name="item[title]" value="Title"/> <input name="item[tag_data][names][]" value="Ruby"/> </form>
(告知が若干遅れてしまいましたが)色々な縁があって、この度「Backbone.jsガイドブック」という本を執筆しました。 2011年のBackbone.js Advent Calendarで僕が書いた「Backbone.js入門シリーズ」を、原文の跡形が微塵の欠片も無いくらい、改定したもので…
CSSを拡張するメタ言語としてLESSとSassが有名。どっちかを使おうと思ったので、LESSとSassを比較してみた。その結果LESSを採用することにした。 採用に至った理由は以下のよう LESSの方が学習コストが低そう LESSの方が読む必要があるドキュメントが少ない …
taka84u9/backbone-lazyview · GitHub Backbone.Viewのel要素がブラウザ上で表示されたタイミングでappearイベントをtriggerする、Backbone.LazyViewというのを作りました。 使い方はBackbone.Viewと全く同じ。 var FooLazyView = Backbone.LazyView.extend(…
JavaScriptにはvoid演算子なるものがあり、その動作は何をしてもundefinedを返すというもの。 void 0 // # => undefined ECMAScript 5の11.4.2 The void Operatorによれば、void演算子は次のように評価される。 void exprとする exprを評価する undefinedを…
Backbone.jsのコードを眺めていたら、こんなのがあった。(関数名は適当) function foo(options) { options || (options = {}); // ... } ここでやってるのは、optionsが偽だったらObjectで初期化する、という操作だが、次のような書き方の方が一般的だし理解…
JavaScriptでsetterとgetterを実装する方法を集めてみた。 クロージャを使うパターン private変数へアクセスできる特権メソッドをクロージャで実装する方法。おそらく一番メジャーな方法なので、知っている人も多いはず。 function A() { var a; this.getA =…
HTML5のcanvas要素の勉強を兼ねて、ちょっとしたアプリケーションを作りました。 Bounding Balls startボタンを押すとボールが落ちてきて 跳ねます。 弾性率をいじると、跳ねっぷりが変化します。弾性率は0以上1以下で、0だとべちゃっと止まり、1だと永久に…
最近pjaxという単語をよく見るから調べてみたら結構よさげだったのでrailsを使ったサンプルを記事にしてみました。 pjaxとAjaxの違い:Ajax=技術、pjax=jQueryプラグイン Ajax JavaScriptを用いてサーバから非同期に取得したデータを用いてコンテンツを改変…