2 yinyan1314 yinyan1314 于 2018.01.11 10:44 提问

js问题 不知道是不是属于冒泡事件
<div class="tmHead">
    <span class="update">更新时间:<span id="updateTime"></span></span>
    <span class="trend">点击查看趋势</span>
</div>

    我画了个页面中,上面的元素层级,然后我给.update 定义点击事件,可以成功执行,给.trend定义点击事件失效,将上面的层级改为下面这样。
        <div class="tmHead">
    <span id="updateTime"></span>
    <span class="trend">点击查看趋势</span>
</div>

    .trend也成功绑定点击事件,这是为什么?

7个回答

hero5127
hero5127   2018.01.11 11:00
已采纳

图片说明 我这没什么问题,能把代码粘出来吗

yinyan1314
yinyan1314 不过我用的是$('.trend').click(function() {})
8 天之前 回复
yinyan1314
yinyan1314 这部分的代码和你写的是一样的,应该是其他部分影响的。
8 天之前 回复
showbo
showbo   Ds   Rxr 2018.01.11 10:57

你代码呢。。代码没有谁知道你怎么绑定的事件

caozhy
caozhy 对头+1
8 天之前 回复
qq_41617506
qq_41617506 对头
8 天之前 回复
ZC_XY
ZC_XY   2018.01.11 10:54

冒泡是从低往上冒泡,你可以监听点击事件,然后使用event。stopPropagation()方法,IE的话是cancleBubble = true

ZC_XY
ZC_XY 回复yinyan1314: $('.trend').addEventListener('click', (event) => { if(event) { event.stopPropagtion() } else { window.event.cancleBubble = true } //what you want to do }, false)
8 天之前 回复
qq_40936380
qq_40936380 是的
8 天之前 回复
yinyan1314
yinyan1314 对啊,那么如何解决上面的问题呢。
8 天之前 回复
hero5127
hero5127   2018.01.11 10:56

请问用的是什么浏览器呢? 用框架了吗? 能把js也贴出来吗?
我用jq和js都没有这个问题呢

qingtianlong97
qingtianlong97   2018.01.11 10:58

.trend 点击js加上
event.stopPropagation();
阻止冒泡

T0virus
T0virus   2018.01.11 11:04

拿你第一段代码为例:
你给.update、#updatetime都绑定了点击事件,
点击#updatetime时,#updatetime的点击事件结束后,会继续触发update的点击事件,这叫冒泡。
.update和.trend都不在一个父子层级里,和冒泡没关系。

绑定不到事件的原因要看你代码怎么写的?具体的操作错误,不看代码,很难找原因。

yinyan1314
yinyan1314 解决了,谢谢。
8 天之前 回复
yinyan1314
yinyan1314   2018.01.11 11:07

哎,我在做钉钉开发,用的是h5,这些可能都是影响因素,谢谢大家的热心,我把问题解决了,

<div class="tmHead">
    <span class="update">更新时间:</span><span class="update" id="updateTime"></span>
    <span class="trend">点击查看趋势</span>
</div>

    这样,不让span做嵌套,这样就好了。
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!