使用ajax后获取元素的方法以及事件委托的使用

我们前端开发经常用到ajax请求,使用最多的无疑是li的循环了,然后append到DOM树上,然后此时要操作li的某些交互时,是获取不到元素的,此时我们可以这样做:

$("body").on("touchend","选择器",function(){
            // 要折行的交互。
        });

下面说一下事件委托的使用,什么是事件委托我就不啰嗦了,小伙伴可以去百度一下:


这里的操作是:点击删除,弹出一个是否删除的弹窗,点击确定后删除当前一条的评论。

html代码:

<ul class="good-message-list" id="J-good-message-list">
            <li class="clearfix">
                <a class="left-user-icon">
                    <img src="images/user_img.png">
                </a>
                <ul class="right-message-box">
                    <li class="clearfix user-bar">
                        <a class="user-name">浅夏、下雨</a>
                        <i class="like-numb js-like-btn"><input type="text" UNSELECTABLE="on"/></i>
       
            </li>
                    <li class="date-bar">昨天</li>
                    <li class="message-txt">整体视觉方向还OK,但是有些细节、逻辑、易操作性上还要有所改进。</li>
                    <li class="delete"><em>删除</em></li>
                </ul>

            </li>

<li class="clearfix">
                <a class="left-user-icon">
                    <img src="images/user_img.png">
                </a>
                <ul class="right-message-box">
                    <li class="clearfix user-bar">
                        <a class="user-name">浅夏、下雨</a>
                        <i class="like-numb js-like-btn"><input type="text" UNSELECTABLE="on"/></i>
                    </li>
                    <li class="date-bar">昨天</li>
                    <li class="message-txt">整体视觉方向还OK,但是有些细节、逻辑、易操作性上还要有所改进。</li>
                    <li class="delete"><em>删除</em></li>
                </ul>
            </li>

</ul>


js代码:

// 找到父元素,添加事件...
document.getElementById("J-good-message-list").addEventListener("click",function(e) {
// e.target是被点击的元素!
// 如果被点击的是li元素
if(e.target && e.target.nodeName == "LI") {
//不知道e.target是什么的小伙伴可以打印看看是什么console.log(e.target);
//然后就执行删除,我就不写那么详细了(删除的弹窗就不弹出来了)
e.target.parentNode().parentNode().remove();
}
});

jq代码:

$("body").on("touchend",".delete",function(){
            $("#mask").show();
            $("#mask_modal").show();
            var self = $(this);

            /*****点击确定*****/
            $(".mask-box-right").on("touchend",function(){
                $("#mask").hide();
                $("#mask_modal").hide();
                console.log(self);
                self.parent().parent().remove();
 //这里的self就是外层的$(this),可以在外层打印看看$(this)指的是谁这样就知道了
            });
        });

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值