javascript - jquery事件绑定中的this指向问题

查看:83
本文介绍了javascript - jquery事件绑定中的this指向问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

代码如下:


$(function(){
                $.ajax({
                    type:"GET",
                    url:"/msg",
                    success:function(data){
                        var html="";
                        for(var o of data){
                            html+=`
                                <tr>
                                    <td>${o.mid}</td>
                                    <td>${o.uname}</td>
                                    <td>${o.content}</td>
                                    <td>${o.pubtime}</td>
                                    <td>
                                        <a class="btn-del" href="${o.mid}">删除</a>
                                    </th>
                                </tr>
                            `;
                        }
                        $("#tb1").html(html);
                    }
                });

                $("#tb1").on("click","a.btn-del",(e)=>{
                    e.preventDefault();
                    //var mid=this.getAttribute("href");
                    console.log(this);
                });
            });

我需要给异步请求生成的a.btn-del绑定删除事件,需要获取当前点击元素的herf属性值;通过e.target可以或得;但是通过this,不可以。console.log(this)后 ,输出#document.

难道事件代理中this不是指向当前点击的元素吗??

解决方案

你把 (e)=> {} 改成 function(e){} 看看。

你应该先去了解下this的绑定机制。

箭头函数中this是指向外层函数作用域。

这篇关于javascript - jquery事件绑定中的this指向问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆