【问题标题】:How do I know which element has the focus?我怎么知道哪个元素有焦点?
【发布时间】:2011-04-08 08:47:49
【问题描述】:

我如何知道哪个元素有焦点,或者如何判断某个元素是否有焦点?

【问题讨论】:

标签: ruby shoes


【解决方案1】:

反正我也不知道直接查询这类信息。我想你可以遍历 DOM 并手动检查它。如果是这种情况,您应该look at this

当感兴趣的特定元素获得焦点时,也许可以通过处理事件来实现您想要做的事情。这是在 jQuery 中执行此操作的方法。

$('<selector>').focus(function() {
  // Do something here
});

只是为了咯咯笑,这是一种可以使用 focus 方法来跟踪哪个元素最后收到它的方法。我强烈建议不要使用此代码。

var gotDaFocus;
$('*').focus(function() {
  gotDaFocus = this;
}); 

【讨论】:

  • 我问的不是javascript,而是Ruby和Shoes。
  • 错误...对不起:)。您可能想要更新问题以说明这一点。我只是假设 JS 因为关键词“元素”和“焦点”。我没看标签。祝你好运。
【解决方案2】:

恐怕尚未实施。 你可以这样做

Shoes.app do
  @focused = para ""
  stack do
    @label1 = edit_line :text => 1
    click do
      @focused.replace @label1.text
    end
  end
  stack do
    @label2 = edit_line :text => 2
    click do
      @focused.replace @label2.text
    end
  end
end

但 Windows 中的问题是控件窃取了 Shoes 中的所有事件。 在绿鞋中它会起作用。如果您在 Windows 中,只要单击 edit_line 的右侧,您仍然可以看到结果。当然,这只是当你用鼠标点击时,你应该检查 keypress 来获取键盘事件。 格子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-08
    • 2011-06-20
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    相关资源
    最近更新 更多