【问题标题】:Handling lost focus in Dart在 Dart 中处理失去焦点
【发布时间】:2014-09-28 06:23:48
【问题描述】:

如何处理飞镖失去焦点?例如,如果某些代码在页面上运行并且用户(例如)最小化窗口或切换到另一个选项卡,则当前页面失去焦点。在这种情况下,我可以在我的代码中覆盖某些方法吗?

【问题讨论】:

  • 您能否提供有关您正在做什么的更多详细信息。一些允许重现问题的代码示例?
  • 嗯,这不是一些特定的问题。我在问是否有某种方法可以在窗口失去焦点时覆盖触发。
  • 如果有人已经遇到了同样的问题,他可能会提供一些帮助。从你的问题来看,我一点也不知道你的问题是什么。
  • 我会尝试再详细说明一下。
  • 问题已被编辑。

标签: html focus dart


【解决方案1】:
import 'dart:html' as dom;
import 'dart:async';

void main() {
  dom.document.onVisibilityChange.listen(visibilityChangeHandler);
  dom.window.onFocus.listen(focusHandler);
  dom.window.onBlur.listen(blurHandler);
}

void visibilityChangeHandler(dom.Event e) {
  print('visibility changed: $e');
}

void focusHandler(dom.Event e) {
  print('focus: $e');
}

void blurHandler(dom.Event e) {
  print('blur: $e');
}

另见Is there a way to detect if a browser window is not currently active?

【讨论】:

  • 我会尝试分享结果。
  • 太棒了!我已经尝试过了,它可以最小化但不能失去焦点。我目前正在尝试document.onFocus
  • 我尝试切换到其他选项卡并触发该方法。这基本上就是我想要的。
  • 其他事件是在window 而不是document。请参阅我的更新答案。
  • 是的。看起来 onBlur 更适合我的情况。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多