我如何知道哪个元素具有焦点?

时间:2011-04-08 08:47:49

标签: ruby shoes

我如何知道哪个元素具有焦点,或者如何确定特定元素的焦点?

2 个答案:

答案 0 :(得分:0)

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

当您感兴趣的特定元素获得焦点时,可能通过处理事件来实现您尝试做的事情。以下是如何在jQuery中执行此操作。

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

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

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

答案 1 :(得分:0)

尚未实施,但我很害怕。 你可以做这样的事情

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来获取键盘事件。 Grtz