Ext JS 4:Ext.Component焦点和模糊事件

时间:2014-03-14 17:44:16

标签: extjs4 focus extjs4.2 blur

我一直在研究这个简单的测试代码,而我似乎无法使焦点和模糊事件正常工作。我想象的是用户将鼠标移到窗口上(触发焦点事件),然后用户将鼠标移出窗口(触发模糊事件)。不幸的是,事实并非如此,也许我只是误解了blurfocus

Ext.create('Ext.window.Window', {
  height: 300,
  width: 300,
  title: 'blah',
  autoShow: true,
  listeners: {
    focus: function() {
      alert('focused!');
    },
    blur: function() {
      alert('blurred!');
    }
  }
});

Fiddle

现在,我确实找到了this Stack post ......非常有趣的是你可以将el放在听众中。不幸的是,看起来当页面加载时,窗口会获得焦点,然后立即失去它...如果我将鼠标悬停在它上面则相同。所以我很困惑。 API说你可以像其他听众一样使用焦点和模糊(没有提到将它包装在el中),但这篇文章说你需要将它包装在el中吗?

1 个答案:

答案 0 :(得分:0)

这是JavaScript 101,我仍然弄错了。焦点和模糊适用于单击元素(获取视图焦点)和单击元素(失去视图焦点)时的情况。唯一奇怪的是,为什么window.focus()实际上不会引发焦点事件?这很可能是因为它没有发生任何事件,但为什么会这样呢?你会认为一个名为focus的方法会触发焦点事件。