Skip to content

Instantly share code, notes, and snippets.

@mgng
Last active August 29, 2015 14:05
Show Gist options
  • Save mgng/57f0d07f10a1b8418f9a to your computer and use it in GitHub Desktop.
Save mgng/57f0d07f10a1b8418f9a to your computer and use it in GitHub Desktop.
jquery memo
// 先頭セミコロンは直前のプログラムを明示的に終わらせるためのおまじないみたいなもんだから別にかかなくてもいい
;$(function(){
// 当然 use strict
'use strict';
// jQuery オブジェクトは $ を付けて他の変数と区別
var $name = $("#id_name");
var name = $name.val();
// イベント登録は on、削除は off
// イベント名は必ずドットなんちゃらつけてカスタムイベント化
// カスタムイベントにしとくと複数の同じイベント登録できるし消すときも簡単
$name.on( "click.myEvent1", function(){
alert( "myEvent1" );
}).on( "click.myEvent2", function(){
alert( "myEvent2" );
});
$name.trigger( "click.myEvent1" ); // alert( "myEvent1" );
$name.trigger( "click.myEvent2" ); // alert( "myEvent2" );
$name.off( "click.myEvent2" );
$name.trigger( "click.myEvent1" ); // alert( "myEvent1" );
$name.trigger( "click.myEvent2" ); // なにも実行されない
// ajax は2階層くらいのコールバックだったら Deferred 使わない
// $.ajax の引数は 2個 スタイル。リクエスト先と設定が分かれてる方が好き
// メソッドチェーンは done, fail, always を必ずいれとく。メソッドごとに改行
$.ajax( '/path/to/api', {
method : 'POST',
dataType : 'json',
data : {
name : name,
time : (new Date()).getTime()
}
})
.done(function(json){
// いろいろ
})
.fail(function(e){
// システムエラー的な処理
})
.always(function(){
// ローディング終わりの処理とか
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment