Javascript yacal.js next/back按钮删除jquery事件侦听器
我正在使用它来创建日历 下面是yacal.js的和(它来自我的网站,因为我找不到它的cdn) 对于我的项目,我正试图这样做:当用户单击某个日期时,会向我的php页面发送一个带有日期的ajax请求,而我的php页面会从数据库中获取一行带有匹配日期的数据 一切都很好。。。但是,当我单击next/back按钮(日历顶部更改月份的两个按钮)时,它会删除我的jQuery事件:Javascript yacal.js next/back按钮删除jquery事件侦听器,javascript,jquery,calendar,jquery-events,Javascript,Jquery,Calendar,Jquery Events,我正在使用它来创建日历 下面是yacal.js的和(它来自我的网站,因为我找不到它的cdn) 对于我的项目,我正试图这样做:当用户单击某个日期时,会向我的php页面发送一个带有日期的ajax请求,而我的php页面会从数据库中获取一行带有匹配日期的数据 一切都很好。。。但是,当我单击next/back按钮(日历顶部更改月份的两个按钮)时,它会删除我的jQuery事件: $(“一天”)。单击(函数(){ 为什么会这样 或者我能做些什么来修复它 历法 $(文档).ready(函数(){ $(“a.
$(“一天”)。单击(函数(){
为什么会这样
或者我能做些什么来修复它
历法
$(文档).ready(函数(){
$(“a.day”)。单击(函数(){
显示数据(
编号($(this.html()),
$(此).parents(“div.month”).attr('class')。replace('month m',''),
$(this).parents(“div.month”).children('h4').html().replace(/\D/g'))
);
});
});
功能显示数据(a、b、c){
a=(a<10)‘0’+a:a;
b=(b<10)‘0’+b:b;
警报(‘日:’+a+’,月:’+b+’,年:’+c);
}
$('#calendarTemplate').yacal();
使用
事件委派允许我们将单个事件侦听器附加到父元素,该事件侦听器将为与选择器匹配的所有子体触发,无论这些子体现在存在还是将来添加
您正在页面加载时绑定事件。但当元素被删除并替换为其他元素(天)时,事件将解除绑定
使用as绑定事件
演示
$(文档).ready(函数(){
$(“#calendarTemplate”)。在(“单击”,“a.day”,函数()上{
显示数据(
编号($(this.html()),
$(此).parents(“div.month”).attr('class')。replace('month m',''),
$(this).parents(“div.month”).children('h4').html().replace(/\D/g'))
);
});
});
功能显示数据(a、b、c){
a=(a<10)‘0’+a:a;
b=(b<10)‘0’+b:b;
警报(‘日:’+a+’,月:’+b+’,年:’+c);
}
$(“#calendarTemplate”).yacal();
JS DOM脚本中的经典问题。您覆盖HTML内容,而不重新绑定事件侦听器。如果覆盖相应的元素,则事件侦听器将丢失。甚至会发生这样的情况。
$("#calendarTemplate").on("click", "a.day", function() {