如何禁用“;向上”;箭头通过CSS
How can I disable the "Up" arrow via CSS
我甚至不确定这是否可能。我有一个使用javascript和css构建的UI,界面用户使用按键进行导航。针对每个客户端更改的布局,如"皮肤"。Javascript控制函数并监视用户的按键。
设置有两个菜单,一个是下部菜单,另一个是上部菜单。当你加载它时,下面的一个是聚焦的,你可以使用左箭头或右箭头在菜单项之间移动。
在正常情况下,你会按"向上"键来获得上层菜单,但这个客户端根本不想要这个菜单。
问题是,我们不能简单地编辑javascript来防止它,因为所有客户端都使用相同的javascript,只有不同的css会根据选择的客户端加载。
所以现在我隐藏了上面的菜单,但问题是javascript仍然允许你向上按,但现在由于顶部菜单不在那里,你失去了注意力,什么都没有突出显示。最终用户不知道如果他们意外按下,为什么或如何失去焦点。(因为他们不知道顶部菜单所在的位置有什么不同的设置,他们没有意识到他们应该按下,他们只是知道当他们按下左/右时似乎什么都没有发生)
我想做的是,在css中,以某种方式阻止用户按下。因为我们不能直接更改javascript。
这可能吗?还是我修改javascript的唯一解决方案?
TIA!!
感谢所有提供建议的人,只是为了澄清,我们将制作一个新的版本,该版本具有检查客户端是否想要此其他菜单的功能,如果不想要,则禁用向上按钮,但这将需要软件的新版本,并完全通过QA。只是试图同时快速破解此客户端。:)
我们的最终解决方案将在数据库中有一个布尔字段,如果为true,javascript将忽略up键,如果为false,则正常操作。
更改代码,使其仅在不存在元素时作用于向上箭头键。
EG添加一个p
和class="noupkey"
,然后停止事件触发,如:
if($('.nokeyup').length === 0) {
//Do normal behaviour
}
不幸的是,没有正确的方法通过css禁用组件,因为这种类型的功能是为javascript设计的。
与我共事过的大多数程序员的理念是,您应该允许最终用户决定是否要使用新功能。
我的意思是,你应该在应用程序中留下一个选项,让用户自己禁用组件。通过这种方式,您可以为所有用户提供相同的javascript集,并且仍然以正确的方式禁用任何组件。这样做的真正好处是,你再也不必处理这个问题了,支持人员可以简单地引导任何客户完成重新创建所需功能的操作。
但是,此解决方案的大部分可能对您不可用。我知道改变你的职场惯例并不容易。
这里有一些可能更有用的东西,我如何使用CSS禁用表单字段?其中一些建议可能适用于任何组件,包括菜单。
实际上这是一个非常奇怪的解决方案,但也可以用一些棘手的解决方案来完成。
使一个具有更多z索引的透明Div,在向上按钮上方的身体水平上具有绝对位置,对于其他应用程序,将Pointer Events Css属性应用于none,这样您的鼠标事件将在Below Div上完成。
然后,对于想要禁用该控件的Case,不要将指针事件赋予最前面的div,它将被禁用鼠标事件。
注意:IE中的指针事件存在一些问题。
- 如何禁用和启用css规则
- 将 CSS 应用于禁用的输入按钮
- 禁用滚动,但保留滚动条CSS
- 单击禁用的按钮添加 CSS
- 使用 CSS 禁用动画效果
- 通过应用自定义 css 类禁用 html 输入元素
- 如何在Jquery中使用removeclass()函数来禁用CSS
- 禁用CSS链接的时间
- Lasso selectables禁用CSS:悬停状态
- CSS:禁用页眉&Chrome打印预览页脚
- fadeOut”;被禁用”;通过一行看似温和的CSS(jquery bug?)
- 如何在实体化css中使用jquery禁用按钮
- 如何使用CSS禁用 asp.net 图像
- 暂时禁用CSS过渡效果的最干净方法是什么
- 如果元素有类,是否可以在CSS中禁用悬停事件
- 在CSS上禁用滚动时使用jQuery进行滚动
- CSS/JS -禁用点击事件,但允许滚动DIV
- 如何在HTML或css中禁用选中的突出显示视图
- 在移动Safari Webview中使用css/js禁用反弹
- PHP/CSS/JS -禁用打印按钮,同时保留文档标题