在我的html文档中,我使用<div id="basic" data-toggle="calendar"></div>
从.js文件中导入日历的外部内容。jquery在更改div内容后没有响应 - 委托事件处理程序
我想检查<td>
字段通过添加类与jQuery。在准备好的表格中,我可以这样做...
$(window).load(function() {
$("td.available.cur-month").on("click", function() {
$(".current").removeClass("current");
$(this).addClass("current");
});
$("td.unavailable.cur-month, td.available.near-month").off();
});
...它很好。 但是,当我更改月份(通过单击<i class="next"></i>
或<i class="prev"></i>
)jQuery方法正在停止。
我没有放弃,我加入到JavaScript文件...
function($) {
var plugin_name = 'calendar',
data_key = 'plugin_' + plugin_name,
defaults = {
modifier: 'datetimepicker', // wrapper class
day_first: 1,
day_name: ['Nd', 'Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'So'],
month_name: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'],
unavailable: ['*-1-1'],
paging: ['<i class="prev"></i>', '<i class="next"></i>'],
adapter: '',
month: null, // month of calendar = month in js + 1, month in js = 0-11
year: null, // year of calendar
num_next_month: 0, // number of next month to show
num_prev_month: 0, // number of prev month to show
num_of_week: 'auto', // number of week need to show on calendar number/auto
onSelectDate: function(date, month, year) {}, // trigger on select
};
...相同的代码行像上面我得到这个(代码最后几行):
onSelectDate: function(date, month, year) {
$("td.available.cur-month").on("click", function() {
$(".current").removeClass("current");
$(this).addClass("current");
});
$("td.unavailable.cur-month, td.available.near-month").off();
现在jQuery正在工作,但在第二次点击后。看起来jQuery在月份更改后不起作用,并在点击某个<td>
时开始。
我必须做些什么才能拥有良好的工作脚本?
我已经使用这个https://www.phpjabbers.com/free-availability-calendar-script/)和有人问这个项目在这里JQUERY JSON returned undefined但它是不同的情况。
您需要使用委派的事件处理程序,因为日历正在重新创建月份更改上的元素 –
谢谢,我不知道如何在我的情况下使用此委托事件处理程序。 – Peniakoff