为了账号安全,请及时绑定邮箱和手机立即绑定

关于$('p').click(function(e) { alert(e.target.innerHTML) })

不是很理解

$('p').click(function(e) {

        alert(e.target.innerHTML)

    })

这个行代码的作用,是为了证明remove()和detacg()不同的删除节点?那为什么上一节也要加上这个事件呢

正在回答

3 回答

这行代码是给2个p绑定事件。方便看出detach和remove的区别,detach后绑定的事件依然存在。

点击两个按钮,再点击下面的p元素,就可以看出区别。

1 回复 有任何疑惑可以回复我~

是为了证明用remove()删除是把一切都删除了包括事件,而detach()删除是暂时删除,append之后又显示回来了,包括事件也仍存在着,只是文本内容通过text替代了之前的文本,所以append之后文本和点击事件都还在

0 回复 有任何疑惑可以回复我~

 $('p').click(function(e) {        alert(e.target.innerHTML)    })    $("button:first").click(function() {        var k = $("p:first").remove();        k.css('color','red').text('p1通过remove处理后,点击该元素,事件丢失')        $("body").append(k);    });    $("button:last").click(function() {        var k = $("p:first").detach();        k.css('color','blue').text('p2通过detach处理后,点击该元素事件存在')        $("body").append(k);    });

那段代码的意思是给p绑定事件,点击p标签的内容会弹出内容,若不是p标签的内容,就不会弹出内容,反过来说明该内容不是p标签的。

https://img1.sycdn.imooc.com//5c78046e0001c07613560882.jpg

这么说吧,点击了remove按钮后出现的内容其实是 

<body >  p1通过remove处理后,点击该元素,事件丢失</body>

点击那段红字是不后悔弹出内容的,说明p标签不在,被删除了。


点击的了detach按钮出现的内容是

<body><p>p2通过detach处理后,点击该元素事件存在</p></body>

点击蓝字会弹出内容,说明p标签还在。

https://img1.sycdn.imooc.com//5c7804fb0001311b14720750.jpg


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于$('p').click(function(e) { alert(e.target.innerHTML) })

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信