我为div设置onClick事件并基于elementType我执行某些功能,如果它与elementType I不匹配,我试图停止使用stopPropogation。但它确实' nt work.Is有什么方法可以解决?
handleClick(eventDate , e) {
if(this.props.eventType === 'DayEvent'){
this.props.onBarClick(eventDate );
}
else{
console.log(e,'e');
e.stopPropagation();
}
}
<div className="event-class" onClick={() => this.handleClick(value.evenTime)}>
<div className="o-percentage">Hellloo</div>
</div>
答案 0 :(得分:1)
点击div没有默认行为。目前还不清楚你想阻止什么?
同样event.stopPropagation()
是阻止事件冒泡祖先并触发他们的事件处理程序。
event.stopPropagation() - 防止事件冒泡DOM树,防止任何父处理程序被通知 事件
查看更多https://api.jquery.com/event.stoppropagation/
您可以做的是返回false
handleClick(eventDate , e) {
if(this.props.eventType === 'DayEvent'){
this.props.onBarClick(eventDate );
}
else{
return false;
}
}
看看我为你做的这个例子
答案 1 :(得分:0)
你可以实现它:
handleClick(eventDate , e) {
if(this.props.eventType === 'DayEvent'){
this.props.onBarClick(eventDate );
}
else {
e.persist();
e.stopPropagation();
}
}