第一次使用此字段后,如何从此代码中删除功能?
问题描述:
$(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);
答
我想是这样的:
$('#id_erinnerung_am').datepicker().one('click', check_reminder_date);
或者可能是这样:
$('#id_erinnerung_am').datepicker().end().one('click', check_reminder_date);
hide
不是一个事件使用click
代替。
答
编辑噢,这是.one()
应该已经做的。它可能只是没有像其他人已经指出的那样开火。
您可以设置一个标志来指示函数是否已被先前调用过。
var isFirstCall = false;
function check_reminder_date(){
if (isFirstCall) {
isFirstCall = false;
//do stuff
}
}
答
使用这种伎俩来达到你想要什么:
//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);
+0
看起来不错,如何使用我的代码? – edekmax 2013-02-26 10:50:51
如果我理解正确的话,你希望被一次处理该事件,是吗? – 2013-02-26 09:22:37
@Салман是的。只有一次 – edekmax 2013-02-26 09:23:46