我想将焦点设置在弹出面板中的文本框上。我有登录弹出面板,其中包含用户名和密码的文本框,那么当弹出窗口加载/显示时如何将焦点设置在用户名上?我正在使用 GWT/Java。
谢谢
我的应用程序是全屏游戏的覆盖层(alwaysOnTop),当用户单击我的覆盖层时,它会获得焦点并在游戏顶部显示任务栏。获得焦点很好,但我无法显示任务栏。
它在BrowserWindow 文档中说:
不是无法聚焦的工具箱窗口
这意味着可以创建一个无法聚焦的窗口。
有谁知道如何创建工具箱窗口,或者只是避免在单击电子窗口时显示任务栏?
我应该提到我已经尝试setAlwaysOnTop过了skipTaskbar。我也有transparent: true和frame: false。
我创建的叠加层是“Safelane、Midlane、Offlane”按钮。当我运行该应用程序时,它显示在全屏应用程序(Dota 2)的顶部,如下所示:
单击界面后,会出现任务栏。如果全屏应用程序(Dota)失去焦点,任务栏出现在顶部,这会破坏体验的连续性:
我希望体验保持像第一张图片一样——当用户单击叠加层中的任何内容时,任务栏不应显示。
附加解决方案信息- 使用下面的 Gaafar 解决方案后
设置中的设置kiosk: true似乎不允许它呈现透明。setKiosk(true)在setTimeout窗口打开后使用似乎有效。
我还发现任何使用kiosk或fullscreen具有透明度的窗口都存在渲染问题。它会在自身之上渲染多次,并且无法取消渲染项目(css 中的 display: none 不会执行任何操作)。我解决这个问题的方法是使用Electron Window Manager创建一个kiosk没有任何内容的单个窗口,并使用 HTML / CSS 界面创建其他非 kiosk 窗口。结果:
我创建了一个用于时间选择的自定义小部件。
该小部件包含一个可打开 TimePicker 的图标和一个 TextFormField,以便用户可以手动键入时间值。
当用户键入一个值时,它会立即验证,并且当焦点关闭时,它会验证该值并使用正确的时间格式更新字段。
例如,如果用户键入 8,然后单击下一个小部件,它将更新为 8:00
我想要的是,当用户输入 StartTime,然后单击键盘的 Next 按钮时,焦点将移动到 EndTime 选择器。然后,当用户单击 EndTime Picker 上的“Next”按钮时,焦点将移动到表单中的下一个小部件
问题是 FocusNode 位于 TimePicker 自定义小部件(即 StateFull)内部,我无法弄清楚如何将其暴露在外部。
您可以在这里查看它的代码: https: //github.com/moti0375/tikal_time_tracker/blob/develop/lib/ui/time_picker.dart
任何想法将不胜感激。
我正在尝试构建一个网络应用程序(以了解 WebSockets 和自适应行为),该应用程序可以轮询不同的社交媒体网站并在一个地方显示所有最新更新。我想让页面在失焦时停止更新,然后在聚焦时再次更新。
测试失焦行为非常困难,因为我必须依靠日志来确保我的应用程序正常工作,并且无法在一个监视器中打开窗口并在另一监视器中处理代码。
我的问题是:
有没有办法“强制”选项卡认为它处于焦点或失焦状态,就像 DevTools 中的强制元素状态一样,但适用于整个选项卡。
我在 Windows 10 上运行 Chrome。我找不到使用 DevTools 执行此操作的方法,并且不想仅仅为了这么简单的事情设置整个测试框架。
感谢您的时间。
我想在 flutter 中制作 to do 应用程序,为了使用 focusNode 我编写了这段代码 ->
FocusNode _titleFocus;
FocusNode _descriptionFocus;
FocusNode _todoFocus;
@override
void initState() {
// TODO: implement initState
super.initState();
if(widget.task!=null){
_titleFocus = FocusNode();
_descriptionFocus = FocusNode();
_todoFocus = FocusNode();
}
}
@override
void dispose() {
// TODO: implement dispose
_titleFocus.dispose();
_descriptionFocus.dispose();
_todoFocus.dispose();
super.dispose();
}
Run Code Online (Sandbox Code Playgroud)
我首先在代码下方启动 FocusNode,该 focusNode 在退出待办任务对象时可以正常工作,但是当我想创建新的任务对象并将焦点传递给另一个对象时,它不起作用。我使用这段代码来传递焦点......
focusNode: _titleFocus,
_descriptionFocus.requestFocus();
Run Code Online (Sandbox Code Playgroud)
但它出错并显示消息 ->
The following NoSuchMethodError was thrown while finalizing the widget tree:
The method 'dispose' was called on null.
Receiver: null
Tried calling: dispose()
Run Code Online (Sandbox Code Playgroud) 我有一个包含文本框的UserControl.我想在用户单击按钮时以编程方式将keyboardfocus设置为此文本框.我试过这个:
private void Button_Click(object sender,EventArgs e)
{
Keyboard.Focus(MyUserControl);
}
Run Code Online (Sandbox Code Playgroud)
没运气.然后我通过TextBox类型的属性在UserControl中公开了Textbox
private void Button_Click(object sender,EventArgs e)
{
Keyboard.Focus(MyUserControl.TextBox);
}
Run Code Online (Sandbox Code Playgroud)
再没有运气.最后,我在UserControl中创建了一个eventhandler来处理GotKeyboardFocus事件,在其中的文本框上调用Keyboard.Focus方法.
再没有运气?!
这该怎么做??
编辑:问题与UserControls无关.当您尝试将焦点传递给Click或MouseDownHandler中的其他UIElement时,这是一个问题.下面的XAML代码讲述了他们自己的故事:焦点确实传递到文本框但被列表框窃取.
<Window x:Class="FocusSpike.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<TextBox Name="FocusedTextBox" Height="30">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Text" Value="I am unfocused..."/>
<Setter Property="Opacity" Value=".3"/>
<Style.Triggers>
<Trigger Property="IsKeyboardFocused" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard AutoReverse="True">
<DoubleAnimation Storyboard.TargetProperty="FontSize" To="20"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Setter Property="Text" Value="I am focused!"/>
<Setter Property="Opacity" Value="1"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<Button>Click to steal focus.</Button>
<ListBox>
<ListBoxItem GotFocus="Listbox_GotFocus">
<Label MouseDown="ListBoxItem_MouseDown"> …Run Code Online (Sandbox Code Playgroud) 我正在使用一些调整,允许用户使用SDCard的资源更改我的应用程序的UI.这很简单,没什么特别的,我只使用"setImageDrawable"或"setImageBitmap".
http://developer.android.com/reference/android/widget/ImageButton.html
这真的很酷,我的所有用户都乐于自定义UI.
但是现在,我想改变按钮的按下/聚焦资源!
现在,当他们点击它时,他们看不到任何东西,他们点击可能10次.更有问题的是,这不是很直观.
所以我想以编程方式改变压缩/聚焦状态......
Ani想法的建议?
我希望在达到最大长度(即2)之后改变fechaI的焦点,并将焦点设置在mesI上.提前谢谢,抱歉我的英语,而不是我的主要.
<h:form id:form>
...
<h:inputText id="fechaI" value="#{solicitud.fechaI}" maxlength="2" size="2">
<a4j:ajax event="change" render="fechaI"/>
</h:inputText>
<h:inputText id="mesI" value="#{solicitud.mesI}" maxlength="2" size="2" >
<a4j:ajax event="change" render="mesI"/>
</h:inputText>
<h:inputText id="anoI" value="#{solicitud.anoI}" maxlength="4" size="4" >
<a4j:ajax event="change" render="anoI"/>
</h:inputText>
...
</h:form>
Run Code Online (Sandbox Code Playgroud)
更新我的代码,仍然无法正常工作:
<h:form id="form">
<h:inputText id="fechaI" value="#{solicitud.fechaI}" maxlength="2" size="2" tabindex="1"/>
<h:inputText id="mesI" value="#{solicitud.mesI}" maxlength="2" size="2" tabindex="2" />
<h:inputText id="anoI" value="#{solicitud.anoI}" maxlength="4" size="4" tabindex="3" />
</h:form>
<script type="text/javascript">
//<![CDATA[
$('input[maxlength][tabindex]').on('keyup', function() {
$this = $(this);
if ($this.val().length == $this.attr('maxlength')) {
$('input[maxlength][tabindex=' + ($this.attr('tabindex') + 1) + ']').focus(); …Run Code Online (Sandbox Code Playgroud) 尝试在用户关注<form><select>内部时保持元素可见.
这似乎不起作用:
$('#toolbar form').not(':focus')
Run Code Online (Sandbox Code Playgroud)
请帮忙.谢谢.
是否有任何API可以跟踪Android中GridView的索引?