开发者社区> 问答> 正文

jq append()新增的dom如何控制。live和on都没绑定上

jq append()新增的dom如何控制

新增的dom无法使用jquery如何解决

$("#addVolumePrice").click(function(){
    $("#thisVolumePrice").append(
        '<br/>&nbsp;<a class="redVolumePrice" href="javascript:void(0)" >[-]</a>' +
        '优惠数量 <input type="text" class="input-mini"/>' +
        '优惠价格 <input type="text" class="input-small"/>'
    );
});

$(".redVolumePrice").live("click",function(){
    alert('111');
});

$(".redVolumePrice").on("click",function(){
    alert('111');
});

展开
收起
小旋风柴进 2016-03-25 14:35:31 2117 0
1 条回答
写回答
取消 提交回答
  • $(".redVolumePrice").live("click",function(){
        alert('111');
    });
    
    $(".redVolumePrice").on("click",function(){
        alert('111');
    });

    这样当然不行的,$("outerSelector").on('eventType','selector',function(){});
    outerSelector 是一个一直存在的DOM, selector是你要监听点击的节点;
    所以正确的写法是

    全选复制放进笔记`$("#thisVolumePrice").on("click",'.redVolumePrice',function(){

    alert('111');

    });`
    具体原理 可以搜索 javascript 事件代理

    2019-07-17 19:14:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
探究 Node.js 的服务端之路 立即下载
穆客带你快速定位 Node.js 内存泄露 立即下载
穆客带你快速定位Node.js内存泄露 立即下载