首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onClick在onClick中的反应

onClick在onClick中的反应
EN

Stack Overflow用户
提问于 2018-05-24 15:04:15
回答 2查看 10.4K关注 0票数 9

我试着做一个图片,当你点击它,带你到一个展示页面,但在图像里面,我需要一些按钮来做其他的事情:

代码语言:javascript
复制
<div
className="prop-detail"
key={dwelling._id}
onClick={() => this.props.history.push(`/propiedades/${dwelling._id}`)}
>

<img
src={dwelling.images[0] !== undefined ? dwelling.images[0].secure_url: 'https://res.cloudinary.com/sioc/image/upload/v1525712940/epnvioppkpvwye1qs66z.jpg'}
alt=""
/>

<div className="prop-text">
{dwelling.price ? <span>{dwelling.price} {dwelling.currency}</span> : <span>Consulte</span>}
<small> {dwelling.spaces.rooms}h - {dwelling.spaces.bathRoom}b</small>
<p>Calle {dwelling.address.streetName} {dwelling.address.streetNumber}, {dwelling.address.city}, {dwelling.address.state}</p>
</div>

<div className="prop-detail-btns">
<Button
className="goto"
onClick={() => this.handleRefs(dwelling.address, index)}>
<FontAwesome name="map-marker" size="25"/>
</Button>{' '}
<Button className="like">
<FontAwesome name="heart" size="25"/>
</Button>
</div>
</div>

我的问题是,当我点击按钮时,它也会使用div onClick。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-24 15:10:09

将按钮onClick更改为停止事件传播到父级

代码语言:javascript
复制
<Button
     className="goto"
     onClick={(e) => {
             e.stopPropagation(); 
             this.handleRefs(dwelling.address, index)
     }}>
     <FontAwesome name="map-marker" size="25"/>
</Button>{' '}
票数 37
EN

Stack Overflow用户

发布于 2018-05-24 15:21:38

您必须验证div是否是事件的目标:

代码语言:javascript
复制
<div className="prop-detail" key={dwelling._id} 
     onClick={ (e)=> (e.target.className==="prop-detail")?
          this.props.history.push(`/propiedades/${dwelling._id}`): 
          false}>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50512603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档