Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery没有';更改div内容后不响应-委托事件处理程序_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery没有';更改div内容后不响应-委托事件处理程序

Javascript jQuery没有';更改div内容后不响应-委托事件处理程序,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的html文档中,我使用从.js文件导入日历的外部内容 我想通过使用jQuery添加类来检查字段。在ready表中,我可以使用 $(window).load(function() { $("td.available.cur-month").on("click", function() { $(".current").removeClass("current"); $(this).addClass("current"); }); $("td.unavailable.

在我的html文档中,我使用
从.js文件导入日历的外部内容

我想通过使用jQuery添加类来检查
字段。在ready表中,我可以使用

$(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();
});
…一切顺利但是当我更改月份时(通过单击
),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
  };
现在jQuery正在工作,但在第二次单击之后。看起来jQuery在月份更改后不起作用,并且在单击某些
时开始运行。

我要做什么才能有好的工作脚本


我用过这个)有人在这里询问这个项目,但情况不同。

您只在现有DOM元素上绑定事件。 您应该使用此代码。通过这种方式,您可以在body上单击绑定,然后检查单击的元素是否为td.available.cur month

$(window).load(function() {
  $("body").on("click", "td.available.cur-month", function() {
    $(".current").removeClass("current");
    $(this).addClass("current");
  });
  $("td.unavailable.cur-month, td.available.near-month").off();
})

)

您需要使用委托事件处理程序,因为日历将在每月更改时重新创建元素谢谢,我不知道如何在我的情况下使用此委托事件处理程序。我忘记了“主体”。谢谢,现在进行得很顺利。
$(window).load(function() {
  $("body").on("click", "td.available.cur-month", function() {
    $(".current").removeClass("current");
    $(this).addClass("current");
  });
  $("td.unavailable.cur-month, td.available.near-month").off();
})