You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material:如何为禁用按钮添加matTooltip提示

解决禁用按钮上matTooltip不生效的问题

这个问题其实挺常见的,根源在于浏览器会忽略禁用元素上的所有鼠标事件——也就是说,当按钮被标记为禁用时,鼠标移上去的动作根本触发不了matTooltip的显示逻辑,自然就看不到提示了。下面给你两种简单可行的解决方案:

方法一:用容器包裹按钮,将Tooltip绑定到容器上

把禁用按钮放在一个inline-block的容器里,然后把matTooltip指令移到容器上。这样容器能正常接收鼠标事件,Tooltip就能正常显示,而按钮依然保持禁用状态:

<div matTooltip="You cannot delete that" style="display: inline-block;">
  <button mat-raised-button [disabled]="true">
    <mat-icon>delete</mat-icon>
  </button>
</div>

方法二:强制启用按钮的鼠标事件

通过CSS的pointer-events: auto强制让禁用按钮接收鼠标事件,这样matTooltip就能正常触发了。不用担心按钮会被意外点击——禁用状态的按钮本身是不会响应click事件的,只是现在能接收鼠标hover事件了:

<button 
  mat-raised-button 
  [disabled]="true" 
  matTooltip="You cannot delete that"
  style="pointer-events: auto;"
>
  <mat-icon>delete</mat-icon>
</button>

两种方法都能解决问题,你可以根据自己的布局需求选择~

内容的提问来源于stack exchange,提问作者Marcin Kunert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:50:02