还是如何实现的问题
javascript吧
全部回复
仅看楼主
level 2
刘述熙 楼主
有一个函数是
ele.onclick = function(){
_____var a = 1
_____······
_____//如何在这里获取代码开头的ele的id?
}
2020年09月05日 12点09分 1
level 2
刘述熙 楼主
获取触发事件的对象可能获取到的他的子元素,怎么解决
也无法区分子元素和本身元素。
2020年09月05日 12点09分 2
level 13
虽然我不知道你是看哪里的文档这么说的,但我可以明确地告诉你,事件函数里用 this 获取到的就是事件函数所处的那个对象,除非你是在事件函数上在接收到的事件对象上获取它的原始触发对象而且事件对象的传播只会在页面DOM树上发生。
要么就是你理解错了别人的意思
“通过触发事件的元素可以获取到的他的子元素” 而不是 “获取触发事件的对象可能获取到的他的子元素”。
也就是:
页面:
<div></div> ==$0
javascript:
$0.onclick=function(event){console.log(this , event)}
【点击<div></div>】
控制台:
this:只可能是 <div></div>
event.srcElement:事件的原始触发者
关于事件的传播,页面上的元素会发生事件传播,如果元素触发了事件,元素的事件会顺着父元素一直穿到最外层(这个现象称为冒泡),如果你在一个元素的父元素上绑定了事件监听器,那么如果元素触发了事件,元素的父元素对应的事件监听器会因为事件冒泡而被触发。
如果你要接收事件的元素的父元素上没有绑定相同事件的监听器,那么你大可不必理会,如果有,而你又不想父元素进行响应,那么你应该学习阻止事件冒泡。
所以你要在事件函数里获取元素的 id 那就是 this.id 啊,你要用事件函数的思维去思考,而不是用脚本首次执行时的思维。
2020年09月05日 14点09分 6
谢谢
2020年09月06日 02点09分
level 9
有任何问题都可以进来,大神免费解答问题
2020年09月06日 11点09分 7
1