$(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);
答案 0 :(得分:0)
我想是这样的:
$('#id_erinnerung_am').datepicker().one('click', check_reminder_date);
或者可能是这个:
$('#id_erinnerung_am').datepicker().end().one('click', check_reminder_date);
hide
不是使用click
的事件。
答案 1 :(得分:0)
编辑哦,这是.one()
应该已经做的事情。它可能只是没有像其他人已经指出的那样开火。
您可以设置一个标志,指示该功能是否先前已被调用过。
var isFirstCall = false;
function check_reminder_date(){
if (isFirstCall) {
isFirstCall = false;
//do stuff
}
}
答案 2 :(得分: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);