jquery on=>keyup无法绑定未来js添加的元素

$("[name=red_count]").on("keyup", countKeyUpBind);即使使用on的,也无法绑定未来元素,
所以直接在动态添加的时候,再进行绑定keyup事件
 
至于click是允许的
 
同时,对于jquery中before,after添加的标签,不管是click还是keyup都是没有绑定未来元素的功能
 
 
//红包个数统计 $("[name=red_count]").on("keyup", countKeyUpBind); //红包金额统计,keyup不能动态使用的 $("[name=red_money]").on("keyup", moneyKeyUpBind); function countKeyUpBind(){ var count = 0; $("#red_mode_set [name=red_count]").each(function () { var v = parseInt($(this).val()); if(!isNaN(v)){ count += v; } }) $("#red_quantity").html(count + "个"); } function moneyKeyUpBind(){ var amount = 0; $("#red_mode_set [name=red_money]").each(function () { var v = parseFloat($(this).val()); if (!isNaN(v)) { amount += v; } }) $("#red_amount").html(amount + "元"); } //添加红包模式 $(".drag_ad").click(function () { $("#red_mode_set").append($("#red_mode_template").html()); $("#red_mode_set [name=red_money]:last").bind("keyup", moneyKeyUpBind); $("#red_mode_set [name=red_count]:last").bind("keyup", countKeyUpBind); })
 
 
    //金额统计,keyup不能动态使用的
    $("[name=red_money]").on("keyup", moneyKeyUpBind);

    function moneyKeyUpBind(){
        var amount = 0;
        $("#red_mode_set [name=red_money]").each(function () {
            var v = parseFloat($(this).val());
            if (!isNaN(v)) {
                amount += v;
            }
        })
        $("#red_amount").html(amount + "元");
    }

    //添加红包模式
    $(".drag_ad").click(function () {
        $("#red_mode_set").append($("#red_mode_template").html());
        $("#red_mode_set [name=red_money]:last").bind("keyup", moneyKeyUpBind);
    })

 

posted @ 2016-11-04 15:40  Danlis  阅读(2390)  评论(0编辑  收藏  举报