jQuery .on()点击功能不起作用

时间:2018-03-15 10:56:41

标签: javascript jquery html jquery-ui calendar

我使用jQuery UI Datepicker plugin获得了一个小日历。

当我点击日期时,一个函数应该触发(但不是)。 首先,我尝试使用此代码:

$('.ui-datepicker-calendar td').click(function(){
  console.log("Test");
});

由于日历是动态添加的,因此只会触发一次。 所以我改为:

$(document).on('click', '.ui-datepicker-calendar td', function(){
  console.log("Test");
});

但这根本不起作用,对我来说没有意义。 这里有一个片段:

$('#calendar').datepicker({
  inline: true,
  firstDay: 1,
  showOtherMonths: true,
  dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
});

$(document).on('click', '.ui-datepicker-calendar td', function(){
  console.log("Test");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<div id="calendar"></div>

1 个答案:

答案 0 :(得分:3)

&#13;
&#13;
 $('#calendar').datepicker({
     inline: true,
     firstDay: 1,
     showOtherMonths: true,
     dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
     onSelect: function(date) {
        alert(date);
     },
 });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<div id="calendar"></div>
&#13;
&#13;
&#13;

datepicker onSelect有一项功能,它适用于日期的每次点击。无需绑定任何额外的点击事件。