Javascript 在web输入之间更改焦点
在JavaScript/jQuery web上下文中,具有:Javascript 在web输入之间更改焦点,javascript,jquery,focusout,jquery-focusout,Javascript,Jquery,Focusout,Jquery Focusout,在JavaScript/jQuery web上下文中,具有: 启用的两个表单文本输入字段A和B 如果输入字段都没有焦点,则应禁用这些字段 也就是说,通过jQuery的focusout函数来检查A和B何时都失去焦点工作正常,但当A将焦点丢失给B(选项卡或通过选择B)时,我无法检查B是否获得了焦点,因为A在焦点更改完成之前的focusout 在输入字段之间切换时,如何通过focusout或等效项检查a和B是否都失去焦点 例如: 当两个输入字段都失去焦点时禁用输入字段,但在它们之间切换时也会禁用输
- 启用的两个表单文本输入字段A和B
- 如果输入字段都没有焦点,则应禁用这些字段
$('input').focusout(function() {
if ($(':focus').length === 0) { // does not count the other input yet
$("input").prop('disabled', true);
}
});
您可以使用window.setTimeout()这样做:
$(document).ready(function() {
$('input').focusout(function() {
window.setTimeout(function() {
if ($(':focus').length === 0) {
$("input").prop('disabled', true);
}
}, 5);
});
});
您可以使用来检查A是否对B失去焦点
MouseeEvent.relatedTarget只读属性是辅助属性
事件的目标(如果有)
向我们展示您目前拥有的一些代码如果两个
字段都被禁用,您如何将注意力集中在其中一个输入字段上;或者我忽略了一些要求?其中一个要求加载了AutoFocus。您无法将焦点放在禁用的字段上,因此该元素上没有onFocus事件的意思……默认情况下输入字段未禁用。但这取决于竞争条件。@kaarel是的,我知道。但我认为这是一个黑客,因为我不知道是否一切准备好后5毫秒。无论如何,这可能是我的结局。不客气!不幸的是,Firefox(Gecko)中似乎存在一个bug: