Javascript 我怎样才能禁用";“向上”;通过CSS的箭头
我甚至不确定这是否可能。我有一个使用javascript和css构建的UI,用户界面使用按键导航。Css用于每个客户端都会更改的布局,如“皮肤”。Javascript控制函数并监视用户按键 设置有两个菜单,一个较低的菜单和一个较高的菜单。当你加载它时,下一个被聚焦,你可以使用左箭头或右箭头在菜单项之间移动 在正常情况下,您会按“向上”键以获得较高的菜单,但是这一个客户端根本不需要此菜单 问题是我们不能简单地编辑javascript来阻止它,因为所有客户端都使用相同的javascript,只会根据选择的客户端加载不同的css 现在我隐藏了上面的菜单,但问题是javascript仍然允许你按下up键,但是现在因为上面的菜单不在那里,你失去了焦点,什么都没有突出显示。最终用户不知道,如果他们不小心按下按钮,为什么或者如何失去焦点。(因为他们不知道顶部菜单在哪里有不同的设置,他们没有意识到他们应该按下,他们只知道当他们按下左/右时似乎什么都没有发生) 我想做的是,在css中,以某种方式防止用户按下按钮。因为我们不能仅仅改变javascript 这可能吗?还是我修改javascript的唯一解决方案 蒂娅 感谢所有提供建议的人,我只是想澄清一下,我们将发布一个新版本,其中包含一个功能,用于检查客户是否需要此其他菜单,如果不需要,则禁用“向上”按钮,但这将需要新版本的软件和全面的质量保证。只是想在同一时间快速破解这一个客户端….:)Javascript 我怎样才能禁用";“向上”;通过CSS的箭头,javascript,css,Javascript,Css,我甚至不确定这是否可能。我有一个使用javascript和css构建的UI,用户界面使用按键导航。Css用于每个客户端都会更改的布局,如“皮肤”。Javascript控制函数并监视用户按键 设置有两个菜单,一个较低的菜单和一个较高的菜单。当你加载它时,下一个被聚焦,你可以使用左箭头或右箭头在菜单项之间移动 在正常情况下,您会按“向上”键以获得较高的菜单,但是这一个客户端根本不需要此菜单 问题是我们不能简单地编辑javascript来阻止它,因为所有客户端都使用相同的javascript,只会根据
我们的最终解决方案是在数据库中有一个布尔字段,如果它是真的,javascript将忽略向上键,如果为假,则正常操作。更改代码,使其仅在元素不存在时按向上箭头键时才起作用 例如,使用
class=“noupkey”
添加p
,然后停止触发事件,如:
if($('.nokeyup').length === 0) {
//Do normal behaviour
}
更改代码,使其仅在元素不存在时按向上箭头键时起作用 例如,使用
class=“noupkey”
添加p
,然后停止触发事件,如:
if($('.nokeyup').length === 0) {
//Do normal behaviour
}
不幸的是,没有通过css禁用组件的正确方法,因为这种类型的功能是针对javascript的 我所接触过的大多数程序员的理念是,您应该允许最终用户决定是否要使用新功能 我的意思是,你应该在应用程序中留下一个选项,让用户自己禁用组件。通过这种方式,您可以为所有用户提供相同的javascript集,并且仍然以正确的方式禁用任何组件。这样做的真正好处是,您不再需要处理此问题,支持人员可以简单地引导任何客户完成重新创建所需功能的操作 但是,此解决方案的大部分可能对您不可用。我知道改变你的工作习惯并不容易
下面是一些可能更有用的建议,其中一些建议可能适用于任何组件,包括菜单。不幸的是,没有通过css禁用组件的正确方法,因为这种功能是针对javascript的 我所接触过的大多数程序员的理念是,您应该允许最终用户决定是否要使用新功能 我的意思是,你应该在应用程序中留下一个选项,让用户自己禁用组件。通过这种方式,您可以为所有用户提供相同的javascript集,并且仍然以正确的方式禁用任何组件。这样做的真正好处是,您不再需要处理此问题,支持人员可以简单地引导任何客户完成重新创建所需功能的操作 但是,此解决方案的大部分可能对您不可用。我知道改变你的工作习惯并不容易
这里有一些可能更有用的建议,其中一些建议可能适用于任何组件,包括菜单。事实上,这是一个非常奇怪的解决方案,但可以用一些棘手的解决方案来完成 制作一个具有更多z索引的透明Div,绝对位置位于向上按钮上方的主体级别,对于其他应用程序,将指针事件Css属性应用于none,以便在下面的Div上执行鼠标事件 然后,对于要禁用该控件的情况,不要将指针事件提供给最前面的div,它将对鼠标事件禁用
注意:IE中的指针事件存在一些问题。事实上,这是一个非常奇怪的解决方案,但可以用一些棘手的解决方案来完成 制作一个具有更多z索引的透明Div,绝对位置位于向上按钮上方的主体级别,对于其他应用程序,将指针事件Css属性应用于none,以便在下面的Div上执行鼠标事件 然后,对于要禁用该控件的情况,不要将指针事件提供给最前面的div,它将对鼠标事件禁用
注意:IE中的指针事件存在一些问题。如@SLaks所说,更改Javascript以响应CSS类的存在(或元素的可见性),因为“上菜单”不在那里,所以只使用“上菜单”如果元素被找到,则为功能性。@BryanH-我认为问题的性质排除了示例代码。@Cyborgx37我同意,我理解这个概念。既然这不是一个bug,我们不妨假设还没有代码。正如@SLaks所说,更改Javascript以对CSS类的存在(或元素的可见性)作出反应,因为“上菜单”不会是