如何禁用“;向上”;箭头通过CSS

How can I disable the "Up" arrow via CSS

本文关键字:CSS 何禁用 向上      更新时间:2023-09-26

我甚至不确定这是否可能。我有一个使用javascript和css构建的UI,界面用户使用按键进行导航。针对每个客户端更改的布局,如"皮肤"。Javascript控制函数并监视用户的按键。

设置有两个菜单,一个是下部菜单,另一个是上部菜单。当你加载它时,下面的一个是聚焦的,你可以使用左箭头或右箭头在菜单项之间移动。

在正常情况下,你会按"向上"键来获得上层菜单,但这个客户端根本不想要这个菜单。

问题是,我们不能简单地编辑javascript来防止它,因为所有客户端都使用相同的javascript,只有不同的css会根据选择的客户端加载。

所以现在我隐藏了上面的菜单,但问题是javascript仍然允许你向上按,但现在由于顶部菜单不在那里,你失去了注意力,什么都没有突出显示。最终用户不知道如果他们意外按下,为什么或如何失去焦点。(因为他们不知道顶部菜单所在的位置有什么不同的设置,他们没有意识到他们应该按下,他们只是知道当他们按下左/右时似乎什么都没有发生)

我想做的是,在css中,以某种方式阻止用户按下。因为我们不能直接更改javascript。

这可能吗?还是我修改javascript的唯一解决方案?

TIA!!

感谢所有提供建议的人,只是为了澄清,我们将制作一个新的版本,该版本具有检查客户端是否想要此其他菜单的功能,如果不想要,则禁用向上按钮,但这将需要软件的新版本,并完全通过QA。只是试图同时快速破解此客户端。:)

我们的最终解决方案将在数据库中有一个布尔字段,如果为true,javascript将忽略up键,如果为false,则正常操作。

更改代码,使其仅在不存在元素时作用于向上箭头键。

EG添加一个pclass="noupkey",然后停止事件触发,如:

if($('.nokeyup').length === 0) {
//Do normal behaviour
} 

不幸的是,没有正确的方法通过css禁用组件,因为这种类型的功能是为javascript设计的。

与我共事过的大多数程序员的理念是,您应该允许最终用户决定是否要使用新功能。

我的意思是,你应该在应用程序中留下一个选项,让用户自己禁用组件。通过这种方式,您可以为所有用户提供相同的javascript集,并且仍然以正确的方式禁用任何组件。这样做的真正好处是,你再也不必处理这个问题了,支持人员可以简单地引导任何客户完成重新创建所需功能的操作。

但是,此解决方案的大部分可能对您不可用。我知道改变你的职场惯例并不容易。

这里有一些可能更有用的东西,我如何使用CSS禁用表单字段?其中一些建议可能适用于任何组件,包括菜单。

实际上这是一个非常奇怪的解决方案,但也可以用一些棘手的解决方案来完成。

使一个具有更多z索引的透明Div,在向上按钮上方的身体水平上具有绝对位置,对于其他应用程序,将Pointer Events Css属性应用于none,这样您的鼠标事件将在Below Div上完成。

然后,对于想要禁用该控件的Case,不要将指针事件赋予最前面的div,它将被禁用鼠标事件。

注意:IE中的指针事件存在一些问题。