给父元素绑定@click后,怎么防止子元素调用@click的方法呢?

如代码:


<!-- html -->

<a @click="changeColor()">

    <span>123</span>

</a>

<script>

    ....

    methods:{

        changeColor:function(e){

            $(e.target).addClass(select);

            修改a标签的背景颜色

        }

    }

</script>

以上代码运行起来,点击后 子元素span也会运行changeColor()方法并添加class-"select",除非span没有覆盖完父元素a标签.请问怎么使点击后只会使a标签添加select


青春有我
浏览 894回答 7
7回答

Smart猫小萌

$(e.currentTarget).addClass(select);

繁星点点滴滴

<a>&nbsp; <span @click.stop></span></a>

拉风的咖菲猫

我用.stop没效果,也不知道为啥,最后是在span上绑了一个方法,传的$event进去,然后写的$event.stopPropagation();阻止事件冒泡,然后就可以了

慕妹3146593

<span&nbsp;@click.stop="children">123</span>

慕斯王

阻止事件冒泡就好啦。.stop
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript