我正在尝试在弹出表单中创建一个时间选择器。我正在与事件委托作斗争——我能够让时间选择器在表格之外工作,但不能在表格内部工作。
我当前的代码,没有时间选择器弹出:
 $(document).ready(function() {
   $('#timepick').timepicker({
     showPeriod: true,
     showLeadingZero: true
   });
 });
$(function() {
    $( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true,
        buttons: {
            "Add Time": function() {
                    $( "#time-table tbody" ).append( "<tr>" +
                        "<td>" + time.value + "</td>" + 
                    "</tr>" ); 
                    $( this ).dialog( "close" );
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
    });
    $("#add-time").button().click(function() {
            $( "#dialog-form" ).dialog( "open" );
    });
});
这在弹出框内不起作用,仅适用于其中的#timepick。我知道我需要以某种方式使用 .on() jquery 函数。
        $(document).ready(function() {
            $('#timepick').on("click", function(){
                timepicker({
                showPeriod: true,
                showLeadingZero: true
            });
        });
也没有工作。
当前试用的粘贴箱:
编辑:
所以这最有效:
        $(document).ready(function() {
          $('#dialog-form').on('click','#time',function() {
            $('#time').timepicker({
                showPeriod: true,
                showLeadingZero: true
            });
          });
        });
唯一的问题是,它目前需要您单击该框,然后添加事件处理程序,然后单击关闭并重新单击 - 因此在工作之前需要单击。我如何让它立即开火?不知何故使用.trigger()?