0

hae,我正在使用,$(document).on('click','',function(){});但它无法正常工作,下面是我的代码:

 <script type="text/javascript">
        $(function () {
            $(document).on('click', '.date-picker', function () {
                $(this).datepicker({
                    changeMonth: true,
                    changeYear: true,
                    showButtonPanel: true,
                    dateFormat: 'MM yy',
                    onClose: function (dateText, inst) {
                        var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                        $(this).datepicker('setDate', new Date(year, month, 1));
                    }
                });
            });
        });
</script>



table_html = '<td style="min-width: 200px;"><input name="' + control_id + '" id="' + control_id + '" value="' + row_val + '" type="date" data-role="datebox" data-options=\'{"mode": "calbox", "useClearButton": true}\' ></td>';
  $('#variables').append(table_html);

上面的代码创建了一个月份年份选择器。它工作正常。
但是当我第一次点击时,月份选择器控件什么也不做。当我在它外面单击并再次单击它时,它起作用了。
关于如何在第一次点击时检测到点击事件的任何想法或建议将不胜感激

4

1 回答 1

1

尝试显示()

$(function () {
    $(document).on('click', '.date-picker', function () {
        var datepicker = $(this).data('uidatepicker');
        if(datepicker) return;
        $(this).datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            dateFormat: 'MM yy',
            onClose: function (dateText, inst) {
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
            }
        }).datepicker('show');
    });
});

演示:小提琴

于 2013-10-16T09:12:45.810 回答