jd-opensource / jd-opensource/taro-ui

AtButton无法阻止冒泡 [ e.stopPropagation() ]

Open
#884 6 comments 1 reaction 1 assignee Claimed by @AwesomeDevin View on GitHub
waiting taro fix
Dominant language
TypeScript
Stars
4.7k
Forks
740
PR merge metrics
No merged PRs in 30d

Description

### Taro UI 版本信息

2.2.4

### 问题描述

外层绑定事件时,内层AtButton绑定事件(onClick),无法通过e.stopPropagation()阻止事件冒泡,外层Click依然会被触发;
而使用Taro.Button无此问题

### 复现步骤

1. View包裹AtButton,同时注册click事件分别为onClickOuter, onClickInner
2. AtButton onClickInner中使用e.stopPropagation()尝试阻止冒泡
3. onClickInner, onClickOuter都会被触发

### 复现代码
```jsx
import Taro, { Component } from '@tarojs/taro'
import { View } from '@tarojs/components'
import { AtButton } from 'taro-ui'

export default class EventStop extends Component {
constructor(props) {
super(props)
}

onClickOuter(e) {
console.log('onClickOuter', JSON.stringify(e))
}

onClickInner(e) {
e.stopPropagation()
console.log('onClickInner', JSON.stringify(e))
}

render() {
return (

阻止冒泡

)
}
}
```

### 报错信息

DEMO输出日志:
```
onClickInner {"type":"tap","timeStamp":3114,"target":{"id":"","offsetLeft":0,"offsetTop":0,"dataset":{"eContactSo":"this","eErrorSo":"this","eGetphonenumberSo":"this","eGetuserinfoSo":"this","eOpensettingSo":"this"},"x":310,"y":17},"currentTarget":{"id":"","offsetLeft":0,"offsetTop":0,"dataset":{"eTapSo":"this"},"x":310,"y":17},"mark":{},"detail":{"x":310,"y":17},"touches":[{"identifier":0,"pageX":311,"pageY":17,"clientX":311,"clientY":17,"force":1}],"changedTouches":[{"identifier":0,"pageX":311,"pageY":17,"clientX":311,"clientY":17,"force":1}],"mut":false}

onClickOuter {"type":"tap","timeStamp":3114,"target":{"id":"","offsetLeft":0,"offsetTop":0,"dataset":{},"x":310,"y":17},"currentTarget":{"id":"","offsetLeft":0,"offsetTop":0,"dataset":{"eTapSo":"this"},"x":310,"y":17},"mark":{},"detail":{"x":310,"y":17},"touches":[{"identifier":0,"pageX":311,"pageY":17,"clientX":311,"clientY":17,"force":1}],"changedTouches":[{"identifier":0,"pageX":311,"pageY":17,"clientX":311,"clientY":17,"force":1}],"mut":false}
```
### 系统信息
```
Taro CLI 1.3.26 environment info:
System:
OS: Windows 10
Binaries:
Node: 12.13.1
Yarn: 1.19.1
npm: 6.13.0
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.