如何在mvp下只允许一个togglebutton在gwt中处于活动状态

时间:2013-06-13 20:57:04

标签: gwt mvp togglebutton

我正在开发一个新项目,切换按钮有点问题。 我想要的是,当时只能激活六个中的一个togglebutton,如果用户单击另一个togglebutton,则旧的togglebutton设置为isDown(false),新的togglebutton设置为isDown(true)。 但如何在不违反mvp模式的情况下达到此目的。

查看:6 togglebuttons
display:HasClickHandlers
演示者:addClickHandlers到ToggleButtons

另一件事是togglebuttons的自动边框,如果用户点击它(类似橙色)。 是否有可能隐藏这个边界?

编辑
如果用户聚焦按钮,文本字段或其他任何内容,则边框可见。所以它没有 togglebutton本身的css属性

2 个答案:

答案 0 :(得分:1)

您的演示者捕获click事件并遍历togglebuttons。它将每个设置为isDown(false),但已单击的除外。尝试识别六个可能的单击togglebutton。在之前的JavaScript时代,我通过为每个toggleButton提供一个唯一的标识符来实现这一点,例如“button_1”。这不应该以任何方式破坏你的MVP模式。

关于自动边框:这是CSS的问题。您需要为几个州定义css,例如.gwt-ToggleButton-down,.gwt-ToggleButton-down-hovering,.gwt-ToggleButton-down-disabled等等。

答案 1 :(得分:0)

对于其他开发者: 焦点边框可以通过以下方式删除:

:-moz-focus-inner { border: 0; padding: 0; } /*firefox*/
:focus { outline: none; } /*chrome, ie*/