在下面的代码中,我尝试使用 event.preventDefault() 但它不起作用。我正在尝试解决一个问题:如果名称为空,则其不可单击。
<Anchor onClick={(event) => { props.someMethod(prop1, event); }}>
<div className="u-pt--sm">
{prop1.title}
</div>
.....
</Anchor>
someMethod(prop1, event) {
if (prop1.name === '') {
event.preventDefault();
}
....
}
Run Code Online (Sandbox Code Playgroud)
如果我调试代码,我会看到事件即将发生
[[Handler]]
:
Object
[[Target]]
:
SyntheticMouseEvent
[[IsRevoked]]
:
false
Run Code Online (Sandbox Code Playgroud)
知道为什么它不起作用吗?
对我来说,简单的答案是使用stopPropagation()而不是preventDefault()
handleClick(e) {
e.stopPropagation()
console.log('The link was clicked.')
}
Run Code Online (Sandbox Code Playgroud)
通过以下方式调用:
<IconButton onClick={(e) => this.handleClick(e)} >
blah
</IconButton>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7286 次 |
| 最近记录: |