• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

请帮忙解释一段代码(js阻止冒泡传递)

这段代码有点看不懂,主要是画线的三个地方
第一个,section.length指的是多少?是4吗?是点击我!的长度吗?
第二个,函数传入的event参数,应该就是onclick吧?如果这括号里不写event,写空或者随便写个字符(例如e)可以吗?
第三个,this.classname指的是innermost,event.target.classname指的是regular吗?
还有一个疑问,这段代码应该是this.classname转换成了regular,然后stop了,阻止了冒泡传递,但怎么转换成regular的,这个过程有点不懂啊

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

解答1:答案为3(你脚本里的第一句是将所有section标签节点获开并保存在变量sections中,代码中出现了三个标签,所有sections的length(长度)应该是3)
解答2:不是onclick,不能为空,可以用其他标识符代替,如e,但标识符不能是随便取的。(当你点击了section标签所有的区域时,会触发onclick事件,此时事件的处理函数会接收到一个参数,即事件对象,由于在函数中你要用到该对象,所以你要给定一个参数去接收它,该参数可以命名为event或者e,或者用其它可读性较强的标识符)
解答3:this.classname是变化的(依次为"innermost","regular"),event.target.classname是唯一的("innermost")。(首先,当你点击了“点击我!”的位置时,触发绑定在类名为innermost的section标签的onclick事件,然后开始冒泡,正常的话会依次触发regular,outermost上的事件,而你在它冒泡到regular时,就阻止了它继续冒泡,因而无法触发outermost上的的事件,)


如果我说了这么多,你还不明白,你也不用灰心,多看书,多看视频,慢慢就会懂了。
给你推荐一下视频:http://www.imooc.com/learn/138

使用道具 举报

看书《JavaScript高级程序设计》第三版

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!