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)要素をクリックしたら、そのグローバル変数を参照するだけ。
以上。
コメント