html - 指针事件 - 当我使用制表键时没有一个不起作用
问题描述
我正在制作一个表单,我正在使用一个类来禁用我的输入,甚至使用指针:无,当我尝试单击正确的输入时,我的输入不可编辑,但是当我使用“TAB”键时专注于输入,我可以编辑输入,我如何防止焦点不应该使用 Tab 键继续我的输入,并且应该允许编辑输入。
<form style="padding:10px; margin:10px" action="" class=" form-inline">
<div class="form-group">
<div class="input-group">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control disabledClass" placeholder="1">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control disabledClass" placeholder="2" >
</div>
</div>
</div>
</div>
</form>
CSS:
.disabledClass{
background: #f1f1f1;
pointer-events: none;
}
感谢您早日回复..
解决方案
pointer-events
CSS 规则只影响指针事件(想想鼠标事件,即使还有其他指针事件)。
通过键盘导航不是指针事件的一部分。
有一些 CSS 规则应该对您的情况有所帮助,但似乎没有一个可以正常工作,而且它们也没有标准化。
例如,我会认为非标准-moz-user-focus
(仅在 FF 中)会这样做,但事实并非如此。user-select
或非标准user-modify
也不阻止它。
我发现的唯一方法实际上是通过 HTML,通过设置readonly
和tabindex="-1"
属性(disabled
也可以,但通常带有一些暗淡的样式):
input {
pointer-events: none;
}
.no-focus {
-moz-user-focus: none;
-webkit-user-focus: none;
-ms-user-focus: none;
user-focus: none;
-moz-user-modify: read-only;
-webkit-user-modify: read-only;
-ms-user-modify: read-only;
user-modify: read-only;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
<input type="text" class="no-focus" value="CSS">
<input type="text" readonly value="readonly" tabindex="-1">
<pre>First click this iframe then try to navigate using TAB</pre>
推荐阅读
- python - 在 Jupyter 笔记本上的 Python 中使用 sorted() 时出现“列表”对象不可调用错误
- c# - 在 Xamrin 表单中将标题放入导航返回栏中
- laravel - 如何从数据库中获取数据并将其传递给通用布局刀片
- postgresql - Postgres XML 解析 - 使用 XPath 计算多个同名节点的总和
- c++ - 在类中创建对象会在 C++ 中引发错误
- date - 为什么 Sequelize findByPk 将日期列加载为字符串
- javascript - 如果页面上的其他内容导致滚动,高度为 100vh 的侧边栏不会填满页面
- node.js - 创建反应应用程序错误:internal/modules/cjs/loader.js:311,当使用 npx 创建反应应用程序时
- python - 对于 sqlalchemy,我可以将原始 sql 和 orm 模型结合在一起吗?
- google-admin-sdk - Google 工作区 ADMIN SDK 目录 API 返回 403