Angular 动态生成html中 ng-click无效

//创建节点
var html = "<a href='javascript:void(0);' ng-click='test()'></a>"  

//用$compile进行编译
var $html = $compile(html)($scope);  

//添加到页面中,这样ng-click就可以触发function了 
$("body").append($html);  

项目中用到:

 var li = "<li style='position:relative;'>" +
"<img class='sel-photo' style='height:" + imgHeight + "px;width: :" + imgWidth + "px' src='" + base64 + "'>" +
"<i style='position: absolute; right: 0; top: 0; width: 1.4rem;' ng-click='deletePhoto($event)' style='z-index:12;width:17px;'>" +
    "<img name='targetPhoto'  src='../img/quiz/quiz_del.png'>" +
"</i>" +
"</li>";

var $li = $compile(li)($scope);

$("#photos_table_div").append($li);



//此外获取src并删除,如下

  $scope.deletePhoto = function (event) {
            var delImg = event.target.parentElement.parentElement;
            var delSrc = delImg.children[0].src;
            console.log(" event.target===" + delImg);
            console.log(" event.target.parentElement===" + event.target.parentElement);
            console.log(" event.target.parentElement===" + delImg.nodeName);//LI
            console.log("图片delImg===:::" + delSrc);
            console.log("localImgDatas=======================;:" + localImgDatas);

            var delSrcIndex = localImgDatas.indexOf(delSrc);
            console.log("delsrcindex=======================" + delSrcIndex);
            if (delSrcIndex > 0) {
                localImgDatas=localImgDatas.replace(delSrc, "");
                console.log("localImgDatas=======================:::" + localImgDatas);
            }
            locals.set("localImgDatas", localImgDatas);

            delImg.remove();
        }

参考:

Angular 动态生成html中 ng-click无效

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值