Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止单击单元格时extjs网格滚动?_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript 如何防止单击单元格时extjs网格滚动?

Javascript 如何防止单击单元格时extjs网格滚动?,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我目前正在使用基于可编辑网格示例的extjs4的网格组件。我想有一个与每个单元格关联的链接,这样当我点击一个单元格时,它会将我带到另一个页面。但是,当单击链接时,页面上会触发垂直滚动 e、 g.尝试减小的大小,第一次单击网格将滚动页面,使网格位于中心,事件被吞没。您必须再次单击才能注册cellclick事件。这只发生在IE中(我使用的是版本8)。好消息是,这不会发生在其他浏览器上,这可能是一个bug,有没有办法防止第一次滚动动作发生 谢谢这可能与此问题类似: 试位:相对;在网格周围的容器上缩放:

我目前正在使用基于可编辑网格示例的extjs4的网格组件。我想有一个与每个单元格关联的链接,这样当我点击一个单元格时,它会将我带到另一个页面。但是,当单击链接时,页面上会触发垂直滚动

e、 g.尝试减小的大小,第一次单击网格将滚动页面,使网格位于中心,事件被吞没。您必须再次单击才能注册cellclick事件。这只发生在IE中(我使用的是版本8)。好消息是,这不会发生在其他浏览器上,这可能是一个bug,有没有办法防止第一次滚动动作发生


谢谢

这可能与此问题类似:
试位:相对;在网格周围的容器上缩放:1,以使其具有布局

我遇到了相同的问题,并在Sencha讨论板上找到了解决方案

添加此代码确实对我有用:

selModel: Ext.create('Ext.selection.Model', { listeners: {} }),
更多信息:

试试这个补丁

Ext.override(Ext.selection.RowModel, {
    onRowMouseDown: function(view, record, item, index, e) {
        //IE fix: set focus to the first DIV in selected row
        Ext.get(item).down('div').focus();

        if (!this.allowRightMouseSelection(e)) {
            return;
        }

        this.selectWithEvent(record, e);
    }
});

今天我在ExtJS 4.2中遇到了同样的问题,早期的解决方案对我不起作用,在gridpanel上使用此配置完全解决了这个问题:

viewConfig: {
    focusRow: Ext.emptyFn
}
例如:

Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    viewConfig: {
        focusRow: Ext.emptyFn
    }
    columns: [
        { text: 'Name',  dataIndex: 'name' },
        { text: 'Email', dataIndex: 'email', flex: 1 },
        { text: 'Phone', dataIndex: 'phone' }
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});

不幸的是,应用与Extjs版本3相同的修复程序在4中不起作用。我在Chrome 12和Extjs 4.0.2中遇到了同样的问题。只有当网格高于页面时才会发生这种情况。我注意到在Ext 4.1.1中,这可以防止在基于WebKit的浏览器中滚动,但在IE中则不行。这对我有效:不工作>>不工作: