javascript - Ext JS - 自动添加监听器

标签 javascript extjs extjs5

假设我们有一个包含很多元素的表单。

我想要一种通过通用代码的方法,以便能够向这些元素添加监听器,例如,所有具有内置 focus 事件的元素,如文本输入或下拉列表, 将有这个 onFocus 监听器。在粗略的伪代码中,是这样的:

for each element in document
    if hasBuiltInFocusEvent(element)
        element.addListener(element, 'focus', indicateOnFocus);

function indicateOnFocus(element)
{
    log(currentTime(), element.id, 'focus');
}

理想情况下, 不必修改元素的现有类定义。我可以在显示表单之前调用一次代码来设置监听器。

请原谅我普遍缺乏知识。我感兴趣的是这是否可行,特别是避免必须为每个元素硬编码监听器,因为通用的泛型方法有很多优点。

最佳答案

开箱即用的 Ext JS 全局报告焦点变化:

Ext.on('focus', function(data) {
    console.log('Focus changed from ' + data.fromElement + ' to ' + data.toElement);
});

关于javascript - Ext JS - 自动添加监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338667/

相关文章:

javascript - return func() 或 return func without () 形式 func(),代码会发生什么情况?

javascript - 单击 anchor 标记使用 JS 添加类

javascript - 使 extjs textarea 不可编辑

javascript - ExtJs - 如何使用包含模型配置的 json 文件动态创建 Ext.data.Model 的实例

javascript - Extjs 5.1 : overflowHandler: 'Menu' not working correctly for toolbar

javascript - IFrame 中 ExtJS 5 应用程序的滚动问题

javascript - 在 window.onload 中提交无限循环

javascript - 如何显示来自 MVC 的警报消息?

javascript - ExtJS。在渲染时加载商店

javascript - TypeError : object is not a function - Javascript, ExtJS、Jasmine 和 TypeError:将循环结构转换为 JSON