Javascript 多次调用回调函数
我正在尝试为我的应用程序制作日历,当我第一次单击日期时,回调方法将按预期调用1次,但当我第二次单击日期中的任何日期时,回调将被调用2次,应该调用1次,依此类推 单击日历中的某一天时:Javascript 多次调用回调函数,javascript,jquery,callback,Javascript,Jquery,Callback,我正在尝试为我的应用程序制作日历,当我第一次单击日期时,回调方法将按预期调用1次,但当我第二次单击日期中的任何日期时,回调将被调用2次,应该调用1次,依此类推 单击日历中的某一天时: onDayClick = function(date, jsEvent, view){ //alert('Date: ' + date.format() + '\n' + 'Current View: ' + view.name + '\n' + 'Make a form here.'); //co
onDayClick = function(date, jsEvent, view){
//alert('Date: ' + date.format() + '\n' + 'Current View: ' + view.name + '\n' + 'Make a form here.');
//console.log('Called onDayClick ' + global_counter++);
createForm(function(form){
console.log('createForm Callback');
event = {
start : date
}
onModalRendered(event);
});
//$(this).css('background-color', 'red');
}
createForm = function(cb){
console.log('createForm');
var form = $('#myModal');
form.modal('show');
form.on('shown.bs.modal', function(){
cb(form);
});
return false;
}
控制台日志输出如下:
Called onDayClick 0 //day clicked in calendar (say, 5 Sep)
createForm
createForm Callback
onModalRendered
Called onDayClick 1 //day clicked in calendar (say, 6 Sep) here callback should be called 1 time
createForm
createForm Callback
onModalRendered
createForm Callback
onModalRendered
我觉得我在使用回调函数时犯了一些错误。请指出我的错误。你能在JSFIDLE上重现这个问题吗?我没有使用JSFIDLE。可以试一试。啊,我找到了罪魁祸首,它是form.on'show.bs.modal',函数{cbform;};多次注册,导致内联函数的多次调用,从而导致多个回调函数调用。