更改Web输入之间的焦点

时间:2015-05-28 07:58:32

标签: javascript jquery focusout jquery-focusout

在JavaScript / jQuery网络环境中,有:

  • 启用了两个表单文本输入字段A和B
  • 如果没有焦点
  • ,则应禁用输入字段

即。通过jQuery的聚焦功能来检查A和B失去焦点的时间是否正常,但是当A失去焦点到B(标签或选择B)时,我无法检查B是否已获得焦点,因为A焦点在焦点之前改变已经完成。

如何在焦点输出或相等的情况下检查A和B在输入字段之间切换时是否失去焦点?

示例:

当两个都失去焦点时禁用输入字段,但是在它们之间切换时也是不可取的 - 这不是意图。

$('input').focusout(function() {
    if ($(':focus').length === 0) { // does not count the other input yet
        $("input").prop('disabled', true);
    }
});

https://jsfiddle.net/hbypowv4/

2 个答案:

答案 0 :(得分:2)

您可以使用MouseEvent.relatedTarget检查A是否失去焦点B

  

MouseEvent.relatedTarget只读属性是辅助属性   事件的目标,如果有一个

https://jsfiddle.net/hbypowv4/2/

答案 1 :(得分:0)

你可以使用window.setTimeout()这样做:

Unhandled Exception:
System.TypeLoadException: A type load exception has occurred.
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: A type load exception has occurred.
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in <filename unknown>:0