javascript - ExtJS 拖动事件监听器在 Chrome 和 Firefox 上的工作方式不同

标签 javascript extjs

我已将输入字段添加到窗口的标题栏(标题)。在 Chrome 上,选择和编辑输入字段是可行的,而且我仍然可以拖动窗口。在 Firefox 上,我可以在视口(viewport)周围拖动窗口,但无法选择输入字段并对其进行编辑。我应该如何更正此代码以便它可以在两种浏览器上运行?

问题的快速演示:

Ext.define('Demo.DemoWindow', {
    extend: 'Ext.window.Window',
    xtype: 'demowindow',

    height: 300,
    width: 400,
    title: 'Window',
    autoShow: true,
    items: [{
            xtype: 'button',
            text : 'Press!',
            listeners: {
              click: function() {
               var win = this.up('window');
               var header = win.getHeader();
               header.setTitle('');

               var killDrag = false;
               var dragEvent = win.dd.on({
                 beforedragstart: function(dd, e) {
                   if (killDrag) {
                     return false;
                   }
                 }
               });

               var field = Ext.create('Ext.form.field.Text', {
                 name: 'Title',
                 allowBlank: false,
                 value: 'Type here something!',
                 listeners: {
                   el: {
                     delegate: 'input',
                     mouseout: function() {
                       killDrag = false;
                     },
                     mouseenter: function() {
                       killDrag = true;
                     }
                   }
                 }
                });

                header.insert(0, field);

              }
            }
    }]
});

Ext.application({
    name: 'Demo',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'absolute',
            items: [
                {
                    xtype: 'demowindow',
                    x: 20,
                    y: 20,
                }
            ]
        });
    }
});

最佳答案

使用 mouseover 事件而不是 mouseenter 似乎两者都可以很好地工作。

关于javascript - ExtJS 拖动事件监听器在 Chrome 和 Firefox 上的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18533474/

相关文章:

javascript - 数据表作为全功能的表单元素

javascript - const page = window.location.pathname + 字符串

javascript - 自动完成带有突出显示颜色的搜索框

extjs - TabPanel 中选项卡的 CSS

javascript - 当我在 Polymer 2 中输入电子邮件时,我的登录密码不会自动完成

javascript - 使用状态更新 Formik 初始值之一会重置所有其他值

javascript - Angular 2 中的 Amcharts 点击事件不起作用

javascript - ext js改变面板的颜色为渐变

javascript - extjs 在 chrome 中工作正常,但在 firefox 或 ie 中不显示任何内容

javascript - 回调未在 ExtJs 商店中触发