Javascript jquery事件授权赢得';行不通

Javascript jquery事件授权赢得';行不通,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以我有这个代码 $(“#inputs input.time”).mask(“00:00:00”); $(“#inputs input.time”).prop('value','00:00:00'); Number.prototype.padDigit=函数(){ 返回值(this

所以我有这个代码

$(“#inputs input.time”).mask(“00:00:00”);
$(“#inputs input.time”).prop('value','00:00:00');
Number.prototype.padDigit=函数(){
返回值(this<10)“'0'+this:this;
}
$(“#显示”)。单击(函数(){
$('#show').show();
});
$('#inputs').on('focus','input.time',function(){
$(this.select();
});
$('#append')。单击(函数(){
$(“#inputs”)。在(“
”)之后; }); $('#inputs').on('keyup','input.time',函数(事件){ console.log(事件); 变量t1='00:00:00'; var-mins=0; var-hrs=0; var-sec=0; $('#inputs input.time')。每个(函数(){ t1=t1.分裂(':'); var t2=$(this.val().split(':'); //控制台日志(编号(t1[1])+编号(t2[1])) sec=编号(t1[2])+编号(t2[2]); secmns=数学层(parseInt(sec/60)); 分钟=数字(t1[1])+数字(t2[1])+秒; minhrs=数学楼层(parseInt(分钟/60)); 小时数=数量(t1[0])+数量(t2[0])+分钟小时数; 秒=秒%60; 分钟=分钟%60; t1=hrs.padDigit()+':'+分钟.padDigit()+':'+秒padDigit() console.log(t1) }); 如果(t1='NaN:NaN:NaN'){ t1='00:00:00'; } $('总计')。文本(t1); /*****************减去时间*****************/ //新日期(年、月、日、小时、分钟、秒、毫秒) //问题,如果总的秒、分或小时数大于剩余的秒、分或小时数。意外结果 var start=$('#rem').text(); var end=$('#total').text(); s=start.split(“:”); e=结束。拆分(“:”); var se=数字(s[2])-数字(e[2]); var sems=数学地板(parseInt(第60节)); var mi=数量(s[1])-数量(e[1])-SEM; var mihr=数学楼层(帕塞因特(分钟/60)); var hr=数量(s[0])-数量(e[0])-百万分之一; if(se<0){ mi=mi-1; se=se+60; } if(mi<0){ hr=hr-1; mi=mi+60; } var result=hr.padDigit()+':'+mi.padDigit()+':'+se.padDigit(); 如果(结果=='NaN:NaN:'+se){ 结果='00:00:00'; } $('保留')。文本(结果); });
#保留,
#总数{
背景色:#333;
宽度:60px;
高度:20px;
颜色:#fff;
填充:0 10px;
}
#展示{
显示:无;
}

展示
剩下的:
01:20:30总计:
00:00:00
01:20:30

+

希望这就是你想要的!!您需要在
#inputs
div中使用
insertAfter
并在最后一次
input
之后插入它

$('#append').click(function () {
           $("<input type='text' value='00:00:00' class='time' name='time2' />").insertAfter("#inputs input:last");
});
$('#append')。单击(函数(){
$(“”)之后插入(#inputs输入:last);
});
这是正在工作的

编辑-2

更改如下,它将工作:

$('#append').click(function () {
          $("#inputs").after("<input type='text' value='00:00:00' class='time' name='time2' /><br/>");
});

$(document).on('keyup', 'input.time', function (event) {
    console.log(event);
    var t1 = '00:00:00';
    var mins = 0;
    var hrs = 0;
    var sec = 0;
    $('input.time').each(function () {
        t1 = t1.split(':');
        var t2 = $(this).val().split(':');
        //console.log(Number(t1[1]) + Number(t2[1]))
        sec = Number(t1[2]) + Number(t2[2]);
        secmns = Math.floor(parseInt(sec / 60));
        mins = Number(t1[1]) + Number(t2[1]) + secmns;
        minhrs = Math.floor(parseInt(mins / 60));
        hrs = Number(t1[0]) + Number(t2[0]) + minhrs;
        sec = sec % 60;
        mins = mins % 60;
        t1 = hrs.padDigit() + ':' + mins.padDigit() + ':' + sec.padDigit()
        console.log(t1)
    });
    if (t1 == 'NaN:NaN:NaN') {
        t1 = '00:00:00';
    }
    $('#total').text(t1);
    /*****************subtract time*****************/
    //new Date(year, month, day, hours, minutes, seconds, milliseconds)
    //problem, if the seconds, mins or hrs of total is bigger than the remaining. Unexpected result
    var start = $('#rem').text();
    var end = $('#total').text();
    s = start.split(':');
    e = end.split(':');
    var se = Number(s[2]) - Number(e[2]);
    var sems = Math.floor(parseInt(sec / 60));
    var mi = Number(s[1]) - Number(e[1]) - sems;
    var mihr = Math.floor(parseInt(mins / 60));
    var hr = Number(s[0]) - Number(e[0]) - mihr;
    if (se < 0) {
        mi = mi - 1;
        se = se + 60;
    }
    if (mi < 0) {
        hr = hr - 1;
        mi = mi + 60;
    }
    var result = hr.padDigit() + ':' + mi.padDigit() + ':' + se.padDigit();
    if (result == 'NaN:NaN:' + se) {
        result = '00:00:00';
    }
    $('#remain').text(result);
});
$('#append')。单击(函数(){
$(“#输入”)。在(
)之后; }); $(文档).on('keyup','input.time',函数(事件){ console.log(事件); 变量t1='00:00:00'; var-mins=0; var-hrs=0; var-sec=0; $('input.time')。每个(函数(){ t1=t1.分裂(':'); var t2=$(this.val().split(':'); //控制台日志(编号(t1[1])+编号(t2[1])) sec=编号(t1[2])+编号(t2[2]); secmns=数学层(parseInt(sec/60)); 分钟=数字(t1[1])+数字(t2[1])+秒; minhrs=数学楼层(parseInt(分钟/60)); 小时数=数量(t1[0])+数量(t2[0])+分钟小时数; 秒=秒%60; 分钟=分钟%60; t1=hrs.padDigit()+':'+分钟.padDigit()+':'+秒padDigit() console.log(t1) }); 如果(t1='NaN:NaN:NaN'){ t1='00:00:00'; } $('总计')。文本(t1); /*****************减去时间*****************/ //新日期(年、月、日、小时、分钟、秒、毫秒) //问题,如果总的秒、分或小时数大于剩余的秒、分或小时数。意外结果 var start=$('#rem').text(); var end=$('#total').text(); s=start.split(“:”); e=结束。拆分(“:”); var se=数字(s[2])-数字(e[2]); var sems=数学地板(parseInt(第60节)); var mi=数量(s[1])-数量(e[1])-SEM; var mihr=数学楼层(帕塞因特(分钟/60)); var hr=数量(s[0])-数量(e[0])-百万分之一; if(se<0){ mi=mi-1; se=se+60; } if(mi<0){ hr=hr-1; mi=mi+60; } var result=hr.padDigit()+':'+mi.padDigit()+':'+se.padDigit(); 如果(结果=='NaN:NaN:'+se){ 结果='00:00:00'; } $('保留')。文本(结果); });

基本上,您要做的是插入输入
#输入
div之后,您已经编写了接受
键控的代码
#inputs
div.中出现的,因为您给出的是相同的 所有
输入的类名称,如果引用
只有他们才足够。不需要通过父母联系他们
部门


你的小提琴有控制台错误<代码>掩码
不是它所说的函数!!!.mask只是在输入上放置一个输入掩码,以将输入过滤为'00:00:00'格式,无论代码是否存在,代码都会运行。但即使在您的小提琴中,它也不会在单击显示时显示任何内容!!!这很奇怪,它在我的电脑上运行得很好。你试过我的链接吗?