0
$(document).ready(function(){
    $('#id_laufzeit_bis').datepicker().on('changeDate', recalculate_deadline);
    $('#id_kuendigungsfrist').change(recalculate_deadline);
    $('#id_kuendigungsfrist_type').change(recalculate_deadline);

    $('#id_kuendigung_moeglichbis').change(check_reminder_date);
    $('#id_erinnerung_am').datepicker().one('hide', check_reminder_date);
});

check_reminder_dateこのフィールドを最初に使用した後、このコードから関数を削除するにはどうすればよいですか?(#id_erinnerung_am

$('#id_erinnerung_am').datepicker().one('hide', check_reminder_date);
4

3 に答える 3

0

私はこのように思います:

$('#id_erinnerung_am').datepicker().one('click', check_reminder_date);

またはこれかもしれません:

$('#id_erinnerung_am').datepicker().end().one('click', check_reminder_date);

hide代わりにイベントの使用ではありませんclick

于 2013-02-26T09:26:00.757 に答える
0

編集ああ、これは.one()すでに行うべきことです。他の人の一人がすでに指摘したように、それはおそらく発火しなかったでしょう。

関数が以前に呼び出されたかどうかを示すフラグを設定できます。

var isFirstCall = false;
function check_reminder_date(){
  if (isFirstCall) {
    isFirstCall = false;
    //do stuff
  }
}
于 2013-02-26T09:26:09.013 に答える
0

このトリックを使用して、目的を達成します。

//caching the object with id #id_erinnerung_am
var id_erinnerung_am=$('#id_erinnerung_am'); 


//triggering an event on every close of the datepicker

id_erinnerung_am.datepicker({onClose:function(){
id_erinnerung_am.trigger('datePicker.hidden');
});

//binding the event once with the function 'check_reminder_date',
// this function will be executed only once

id_erinnerung_am.one('datePicker.hidden', check_reminder_date);
于 2013-02-26T09:36:06.537 に答える