jQuery ajax中 使用append()方法添加的元素事件无效

$(function () {
    var obj = null;
    $.ajax({
        url: "/navbor/navbor",
        type: "get",
        data: obj,
        dataType: "json",
        success: function (data) {
            var html = "";
            console.log("data:", data);
            var menusList = data.data.menusList;
            for (var i = 0; i < menusList.length; i++) {
                var menu = menusList[i].menuList;
                var title = "";
                if (menu != null && menu.length > 0) {
                    title = "<li class=\"treeview\"><a class=\"app-menu__item\" href=\"#\" data-toggle=\"treeview\"><i class=\"app-menu__icon fa fa-book\"></i><span class=\"app-menu__label\">" + menusList[i].menuName + "</span><i class=\"treeview-indicator fa fa-angle-right\"></i></a>"
                } else {
                    title = "<li><a class=\"app-menu__item\" href=\"#\"><i class=\"app-menu__icon fa fa-file-image-o\"></i><span class=\"app-menu__label\">" + menusList[i].menuName + "</span></a>";
                }
                /*  archive+="<li ><a class=\"treeview-item\" ><i class=\"icon fa fa-circle-o\"></i>"+archiveBoList[i].date+"</a></li>";*/
                html += title;
                if (menu != null && menu.length > 0) {
                    html += "<ul class=\"treeview-menu\">";
                    for (var j = 0; j < menu.length; j++) {
                        html += "<li><a class=\"treeview-item\" href=\"" + menu[j].url + "\"><i class=\"icon fa fa-circle-o\"></i>" + menu[j].name + "</a></li>";
                    }
                    html += "</ul>";
                }

                html += "</li>";
            }
            console.log("html:" + html);
            $("#treeviewMenuId").append(html);

        }
    })
})

之前;

$("[data-toggle='treeview']").click(function(event) {//此方法jQuery append方法无法调用
    event.preventDefault();
    if($(this).parent().hasClass('is-expanded')) {
        treeviewMenu.find("[data-toggle='treeview']").parent().removeClass('is-expanded');
    }
    $(this).parent().toggleClass('is-expanded');
});

修改;

$("#app-menu").on('click', "[data-toggle='treeview']", function(event) {
    console.log(event);
    event.preventDefault();
    if(!$(this).parent().hasClass('is-expanded')) {
        treeviewMenu.find("[data-toggle='treeview']").parent().removeClass('is-expanded');
    }
    $(this).parent().toggleClass('is-expanded');
})

或者将修改前的函数放入到ajax里面。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值