gpt4 book ai didi

javascript - 为什么在禁用为真时不 react 禁用 onClick 处理程序?

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:18 27 4
gpt4 key购买 nike

我希望在 React 组件上设置禁用属性会阻止该元素的 onClick 处理程序。

 <a role="button"
className={`btn btn-block btn-info`}
disabled={!this.state.readyToView}
href={this.state.selectedObjectLink}
onClick={this.handleLink}
>View</a>

但是尽管该元素显示了“已禁用”属性,它仍然会注册一个点击事件。

编辑:我应该澄清一下——我在 handleLink 中处理点击事件,我想知道为什么 disabled 属性没有删除处理程序?抱歉造成任何混淆。

最佳答案

问题不在于 disabled ;它与 HTML 元素 a 一起使用.主播<a>不能有 disabled 属性(那是什么意思?)。仅仅因为您已经通过 CSS 使元素看起来像一个按钮,并不能使它成为一个按钮。它仍然是一个 anchor 。

解决方案是使用其他东西(如按钮):

<button 
role="button"
className={`btn btn-block btn-info`}
disabled={!this.state.readyToView}
onClick={this.handleLink}
>
View
</button>

您可以使用 this.state.selectedObjectLink里面handleLink如果你想重定向到一个页面

或使用此页面上的许多其他建议之一。

关于javascript - 为什么在禁用为真时不 react 禁用 onClick 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com