div-设置不可点击

pointer-events属性是一个指针属性,是用于控制在什么条件下特定的图形元素可以成为指针事件的目标。
pointer-events属性有很多值,但是对于浏览器来说,适用于HTML元素的只有三个值,其它的几个值都是针对SVG元素的(本身这个属性就来自于SVG技术,是一个SVG属性,并未在任何CSS规范中定义)。

.cantclick{
   pointer-events: none;
}

浏览器兼容性

属性ChromeInternet Explorer / EdgeFirefoxSafariOpera
pointer-events2.011.03.64.09.0

css语法

pointer-events: auto|none;

#属性值

属性值描述
auto默认值,设置该属性链接可以正常点击访问。
none元素不能对鼠标事件做出反应
initial设置该属性为它的默认值
inherit从父元素继承该属性

visiblePainted

只适用于 SVG,元素只有在以下情况才会成为鼠标事件的目标:

visibility 属性值为 visible,且鼠标指针在元素内部,且 fill 属性指定了 none 之外的值
visibility 属性值为 visible,鼠标指针在元素边界上,且 stroke 属性指定了 none 之外的值
visibleFill

只适用于 SVG,只有在元素 visibility 属性值为 visible,且鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill 属性的值不影响事件处理。

visibleStroke

只适用于 SVG,只有在元素 visibility 属性值为 visible,且鼠标指针在元素边界时,元素才会成为鼠标事件的目标,stroke 属性的值不影响事件处理。

visible

只适用于 SVG,只有在元素 visibility 属性值为 visible,且鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill 和 stroke 属性的值不影响事件处理。

painted

只适用于 SVG,元素只有在以下情况才会成为鼠标事件的目标:

鼠标指针在元素内部,且 fill 属性指定了 none 之外的值
鼠标指针在元素边界上,且 stroke 属性指定了 none 之外的值
visibility 属性的值不影响事件处理。

fill

只适用于 SVG,只有鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill 和 visibility 属性的值不影响事件处理。

stroke

只适用于 SVG,只有鼠标指针在元素边界上时,元素才会成为鼠标事件的目标,stroke 和 visibility 属性的值不影响事件处理。

all

只适用于 SVG,只有鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill、stroke 和 visibility 属性的值不影响事件处理。
### 关于 `a-tab-pane` 不可点击以及点击事件失效解决方案 当遇到 Ant Design Vue 中的 `a-tab-pane` 不可点击点击事件失效的情况时,可以从以下几个方面排查并解决问题。 #### 1. 检查 Tab 切换逻辑 确保在 `<a-tabs>` 标签内正确绑定了 `v-model` 或者 `default-active-key` 属性来控制当前激活的标签页。如果希望监听切换行为,则应该添加 `@change="callback"` 来响应用户的交互操作[^1]: ```html <a-tabs v-model="activeKey" @change="handleTabChange"> <!-- 子组件 --> </a-tabs> ``` #### 2. 确认 Key 值类型一致性 对于每一个 `<a-tab-pane>` 节点来说,其 `key` 属性应当被赋予字符串类型的值而非数值型。这是因为即使两者看起来相同,在 JavaScript 中它们属于不同的数据类型,这可能导致匹配失败从而影响正常的渲染流程[^3]: ```html <!-- 错误示范 --> <a-tab-pane key={0}>...</a-tab-pane> <!-- 正确做法 --> <a-tab-pane :key="'tab-0'">...</a-tab-pane> ``` #### 3. 强制重新渲染子组件 有时由于某些原因(比如异步加载内容),可能会导致子组件未能及时更新状态。此时可以尝试给父级容器增加唯一的 `key` 属性以便强制刷新整个区域内的 DOM 结构[^4]: ```html <div :key="uniqueIdentifier"> <a-tabs ... > ... </a-tabs> </div> ``` 其中 `uniqueIdentifier` 可以是一个基于时间戳或者其他唯一标识符生成的新变量。 #### 4. 使用 `force-render` 属性 如果存在延迟初始化或其他生命周期管理上的问题,可以在特定场景下考虑使用 `force-render` 参数让所有面板都保持挂载状态而不是按需懒加载。不过需要注意的是这种方法会牺牲一定的性能优化效果[^2]: ```html <a-tab-pane force-render>...</a-tab-pane> ``` 以上措施能够有效改善大多数情况下 `a-tab-pane` 的可用性和用户体验。当然具体实施还需要根据实际项目环境和个人需求灵活调整策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新时代_打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值