【问题标题】:How to disable an <a> tag in React after clicking it?单击后如何在 React 中禁用 <a> 标签?
【发布时间】:2026-02-11 02:55:02
【问题描述】:

点击后如何在 React 中禁用下面的锚标记?就像 onClick 功能在锚标记上不起作用。

<td align="left">
  <input
    type="file"
    accept=".csv,.xlsx,.xls"
    name="image"
    className="file-upload-input"
    onChange={(e: any) => {
      handleFileChange(e, data.c_id);
    }}
  />

  <a
    href="javascript:;"
    className="btn btn-secondary"
    style={{
      width: "125.62px",
      backgroundColor: "#0b5ed7",
      borderColor: "#0a58ca"
    }}
  >
    <img src={UploadIcon.default} />
    Upload
  </a>
</td>

【问题讨论】:

  • 尝试在标签中放置一个按钮,这样你就可以有条件地禁用它。
  • 或者您也可以使用按钮:&lt;Button href='/yourRoute' disabled={yourCondition}&gt;Upload&lt;/Button&gt;
  • 嘿 ertemishakk,非常感谢您的回复。我已经使用了您向我建议的第一个,在锚标记内提供按钮。
  • 请接受正确的答案 - 如果它对您有所帮助。谢谢
  • "onClick 功能在锚标记上不起作用" - 我在你的锚元素上没有看到 onClick 处理程序?

标签: javascript html reactjs typescript


【解决方案1】:

如何在锚标签上设置条件类并通过css禁用它?它需要一个状态变量来保持禁用状态。代码看起来像。

const [disabled, setDisabled] = useState();

<a
  href="javascript:;"
  onClick={() => {
  // setting the state on click
    setDisabled(true);
  }}
  // Adding class here
  className={`btn btn-secondary${disabled ? " disabled" : ""}`}
  style={{
    width: "125.62px",
    backgroundColor: "#0b5ed7",
    borderColor: "#0a58ca"
  }}
>
  <img src={""} />
  Upload
</a>

还有残疾班

.disabled {
  pointer-events: none;
  cursor: pointer;
}

【讨论】:

    【解决方案2】:

    尝试在标签中放置一个按钮,这样你就可以有条件地禁用它。

    【讨论】: