标签: lost-focus

如何在jQuery中强制失去表单中所有字段的焦点

当输入字段改变(onchange)时,我触发一个函数来设置一个变量.唯一的问题是该字段首先必须在设置变量之前失去焦点,并且我可以检查字段是否已更改,这是我在用户单击选项卡时要执行的操作,以便我可以检查是否用户忘记在上一个标签中提交表单.何力会失去所有可能领域的焦点,所以首先onchange可以举办活动?

javascript jquery lost-focus

44
推荐指数
2
解决办法
5万
查看次数

blur event.relatedTarget返回null

我有一个<input type="text">字段,当这个字段失去焦点时我需要清除它(这意味着用户点击了页面上的某个地方).但有一个例外.当用户单击特定元素时,不应清除输入文本字段.

我试图用来event.relatedTarget检测用户是否点击了某个地方而不是我的具体点击<div>.

但是正如您在下面的代码段中看到的那样,它根本不起作用.event.relatedTarget总是回来null!

function lose_focus(event) {
  if(event.relatedTarget === null) {
    document.getElementById('text-field').value = '';
  }
}
Run Code Online (Sandbox Code Playgroud)
.special {
  width: 200px;
  height: 100px;
  background: #ccc;
  border: 1px solid #000;
  margin: 25px 0;
  padding: 15px;
}
.special:hover {
  cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
<input id="text-field" type="text" onblur="lose_focus(event)" placeholder="Type something...">

<div class="special">Clicking here should not cause clearing!</div>
Run Code Online (Sandbox Code Playgroud)

javascript events onblur lost-focus focusout

33
推荐指数
1
解决办法
8352
查看次数

在通过DPAD转到另一个视图时,Android键盘焦点丢失了

我们在一个布局中有17个api,DPAD控制和4个edittexts用于引脚输入.当用户试图打开锁定在应用程序中的某些东西时,他会面对片段,他应该输入4位数的针脚.当打开视图时,我们以编程方式将焦点设置为第一个针脚edittext并显示键盘.当用户输入第一个引脚数字时,我们将视图焦点设置为第二个引脚edittext,其中用户应输入第二个引脚值,依此类推.

问题: 在用户输入第一个引脚值后,键盘焦点(突出显示)消失,对于第二个引脚,用户应该再次从键盘开始导航.21 api相同的代码运行良好,键盘焦点(突出显示)保持在以前的值.如何在17 api之前保持键盘焦点(突出显示),同时将视图焦点设置在另一个视图上?

这是代码:

public class PasswordFragment extends BaseFragment {
    private final ArrayList<Disposable> disposables = new ArrayList<>();
    @BindViews({R.id.passFirst, R.id.passSecond, R.id.passThird, R.id.passFour})
    EditText[] pinEdits;
    @BindDrawable(R.drawable.border_light)
    Drawable borderLight;
    @BindDrawable(R.drawable.border_white)
    Drawable borderWhite;
    @Inject
    PrefsRepo prefsRepo;
    @Inject
    ToastUtil toastUtil;
    @BindView(R.id.passTitle)
    TextView passTitle;
    @BindString(R.string.insert_pin)
    String defDialogMes;
    private InputMethodManager inputMethodManager;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        App.getAppComponent().inject(this);
        inputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, …
Run Code Online (Sandbox Code Playgroud)

android lostfocus lost-focus android-softkeyboard android-view

15
推荐指数
0
解决办法
213
查看次数

输入文本时立即触发TextBox.TextChanged

我有一个wpf TextBox,并连接了它的TextChanged事件.问题是此事件仅在焦点从文本框中删除时触发.

是否存在类似于TextChanged的事件,当字符键入文本框时会立即触发,而不是焦点更改时?

wpf events textbox lost-focus textchanged

14
推荐指数
2
解决办法
2万
查看次数

是否可以像在 Chrome 中一样在 Firefox 中模拟焦点页面?

我不认为 Firefox 有任何选项可以emulate a focused page调试一旦选项卡失去焦点会发生什么,就像 Chrome 可以做的那样.

有什么方法可以固定 Firefox 中窗口的焦点状态吗?(就像隐藏在某处的设置选项)似乎一旦选项卡实际上失去焦点,通过 JS/Webconsole 可以完成的任何操作都将被浏览器覆盖。

当然,可以通过各种其他方式调试脚本(使用断点、调用监听 onblur 事件的函数等),但是这个 Chrome 选项非常方便,我想知道是否可以完成类似的操作在 Firefox 中,即。修复选项卡的焦点状态。

firefox lost-focus firefox-developer-tools

14
推荐指数
0
解决办法
694
查看次数

你如何解决这个LostFocus/LostKeyboardFocus问题?

好吧,我有一个具有IsEditing属性的控件,为了参数的缘故,它有一个默认模板,通常是一个文本块,但是当IsEditing为true时,它会在文本框中交换以进行就地编辑.现在当控件失去焦点时,如果它仍在编辑,它应该退出编辑模式并在TextBlock模板中交换回来.非常直接,对吧?

想想在Windows资源管理器或桌面上重命名文件的行为(这与我所知道的相同......)这就是我们想要的行为.

问题是您不能使用LostFocus事件,因为当您切换到另一个窗口(或作为FocusManager的元素)时,LostFocus不会触发,因为控件仍具有逻辑焦点,因此无法工作.

如果您改为使用LostKeyboardFocus,虽然这确实解决了"其他FocusManager"问题,但现在您有了一个新问题:当您进行编辑并右键单击文本框以显示上下文菜单时,因为上下文菜单现在有键盘焦点,您的控件失去键盘焦点,退出编辑模式并关闭上下文菜单,使用户感到困惑!

现在我已经尝试设置一个标志,在菜单打开之前忽略LostKeyboardFocus,然后在LostKeyboardFocus事件中使用该fiag来确定是否将其踢出编辑模式,但是如果菜单打开并且我点击其他位置应用程序,因为控件本身不再有键盘焦点(菜单有它)控件永远不会获得另一个LostKeyboardFocus事件,因此它仍然处于编辑模式.(我可能必须在菜单关闭时添加一个检查以查看焦点是什么,然后手动将其从EditMode中踢出来,如果它不是控件.这看起来很有希望.)

那么......任何人都知道如何成功编码这种行为?

标记

wpf lostfocus lost-focus focusmanager keyboardfocusmanager

10
推荐指数
1
解决办法
2万
查看次数

为什么LostFocus事件会在不同时间被调用?

在参考此MSDN页面(或关于此事项的任何相关页面)时,它指出:

使用键盘更改焦点时,焦点事件按以下顺序发生:

  1. 输入
  2. 的GotFocus
  3. 离开
  4. 证实
  5. 验证
  6. 引发LostFocus

但是,当您使用鼠标来引发事件时,订单会发生变化!

使用鼠标或通过调用Focus方法更改焦点时,焦点事件按以下顺序发生:

  1. 输入
  2. 的GotFocus
  3. 引发LostFocus
  4. 离开
  5. 证实
  6. 验证

这不会使事件链完全不同吗?我的解释是键盘链确保一切正常,然后引发LostFocus事件.然而,鼠标事件似乎在出于某种原因进行验证之前提高了它.这是为什么?

c# events lost-focus winforms

10
推荐指数
1
解决办法
1108
查看次数

Slickgrid - 失去焦点以结束编辑

编辑网格时,如果我在网格外单击,我编辑的框仍然可以编辑.当失去焦点时,如何让编辑过的单元格"完成"编辑?

lost-focus slickgrid

9
推荐指数
3
解决办法
7098
查看次数

单击某些其他控件时不会引发TextBox LostFocus

在下面的简单WPF应用程序中,a TextBox设置为在焦点从该控件中丢失时更新属性,如下所示

<DockPanel>
    <ToolBar DockPanel.Dock="Top">
        <Button>Test</Button>
    </ToolBar>
    <TextBox Text="{Binding MyString}" />
</DockPanel>

public MainWindow()
{
    InitializeComponent();
    DataContext = this;
}

public string MyString
{
    get { return _myString; }
    set { _myString = value; }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此应用程序时,在文本框中输入一些文本,然后单击"测试"按钮,我的MyString属性上的断点不会引发,也不会引发该FocusLost事件的任何事件处理程序.仅当通过某些其他方式(例如窗口关闭)从控件丢失焦点时才会引发这些事件.

这对我们造成了问题,因为实际上"测试"按钮包含依赖于MyString正在更新的属性的逻辑.

FocusLost当我单击"测试"按钮时,如何确保正确引发事件并更新绑定?看起来问题是由于使用而导致的问题ToolBar,因为用ToolBar标准按钮替换不会导致这种行为.

wpf focus toolbar lost-focus

8
推荐指数
1
解决办法
1万
查看次数

WPF TextBox MenuItem在移动鼠标时失去焦点

在我的WPF应用程序中,我想要一个菜单​​项有一个文本框.我已设法使用以下代码执行此操作:

<Menu Height="23" HorizontalAlignment="Stretch" Name="MainMenu" VerticalAlignment="Top">
    <MenuItem Header="File">
        <MenuItem Header="Exit" Click="menuItemExit_Click" />
    </MenuItem>
    <MenuItem Header="Settings">
        <MenuItem Header="Some setting" IsCheckable="True" />
        <Separator />
        <MenuItem>
            <MenuItem.Header>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Label Content="Some value:" Margin="0,3,6,0" Padding="0" />
                    <TextBox Margin="0,0,0,6" Grid.Column="1" />
                </Grid>
            </MenuItem.Header>
        </MenuItem>
    </MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)

此代码显示像我预期的菜单项,但如果我开始在文本框中键入一些值,然后移动鼠标(而不是单击)远离文本框菜单项,文本框失去焦点,我无法继续键入,直到我点击再次在文本框上.如何在WinForms中实现与文本框菜单项相同的行为?也就是说,如果用户在文本框外部单击或按Tab键,则文本框仅失去焦点.

提前致谢.

wpf textbox lost-focus menuitem

7
推荐指数
1
解决办法
3877
查看次数