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

e.target.innerHTML 这句能否用$(this) 替换?

e.target.innerHTML 这句能否用$(this) 替换?

如果能改怎么写

正在回答

6 回答

你这句应该是注册事件方法里面的,而e变量其实就是该事件。其实.target和this是有区别的,事件流程中,分捕获(从外到里),目标(注册事件的节点),以及冒泡阶段(从里到外)。.currentTarget和this指的都是当前事件触发对象(一直在变),而.target仅仅是事件源对象(不变,注册事件的对象)。

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

清水3201892 提问者

<div><span><p></p></span></div>也就是说this 指的是div,span,p,span,div 而.target指p标签
2016-08-11 回复 有任何疑惑可以回复我~
#2

不如怀念o 回复 清水3201892 提问者

非常抱歉我说反了,currentTarget=this(事件的注册节点,永远不变),target(一直变,事件的触发节点,比如body上的click事件你点body里面的div触发了,那么target就是这个div)
2016-08-11 回复 有任何疑惑可以回复我~
#3

不如怀念o 回复 清水3201892 提问者

W3Cschool里面说的是错的,而且网上说的很多也都是错的。你自己给body加个click事件,然后console.info(event.target)。你点body中不同元素,你会发现这个值一直在变。
2016-08-11 回复 有任何疑惑可以回复我~
#4

清水3201892 提问者

非常感谢!
2016-08-11 回复 有任何疑惑可以回复我~
查看1条回复

e.target永远指向事件发生对象(也就是只要发生事件,那么e.target就指向它,而不会捕获或冒泡!),不会事件冒泡,而this则会发生变化,会发生事件冒泡!

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

将e.target替换成this显示是一样的,具体是否有区别往后面学再看看吧

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

当然不能 innerHTML指的是  html元素里的文本内容 

然而this 指的是对象


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

qq_蜘蛛的听觉在脚上_03435164

我试过用alert(this.innerHTML),结果显示还是一样的
2016-08-22 回复 有任何疑惑可以回复我~

可以。

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

$(this).html("xxx")

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

举报

0/150
提交
取消

e.target.innerHTML 这句能否用$(this) 替换?

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