fullcalendarを使っていて挙動が変だったのでメモ。
こんなスクリプトを書いた。
dayClick: function(date) {
$('#event #input-window .ok').click(function(){
console.log('date='+date);
});
}
カレンダーの日付のどこかをクリックしたら
関数A「(.ok)要素をクリックしたら日付を出す。」をセットする。
変数dateはクリックしたカレンダーの日付。
実行すると、
カレンダーのクリックごとに関数Aがセットされて、
5回、カレンダーをクリックして、(.ok)要素をクリックすると、一度に5回ログが出る。
(.ok)要素をクリックするたびに5回ログが出てしまう。
(.ok)要素をクリックした時はその直前にクリックしたカレンダーの日付が一回だけ出てほしいのに、どうしたらいい?
解決案
var global_date;
dayClick: function(date) {
global_date = date;
}
$('#event #input-window .ok').click(function(){
console.log('global_date='+global_date);
});
カレンダーの日付のどこかをクリックしたら、グローバル変数にdateをセット。
(.ok)要素をクリックしたら、そのグローバル変数を参照するだけ。
以上。
コメント