我有一个selType: 'checkboxmodel'
的网格但在IE中存在一个问题:点击网格行(选择它)后,页面滚动到第一行的位置。
请帮助。
答案 0 :(得分:0)
找到一个合适的anwser
Ext.override(Ext.selection.CheckboxModel, {
onRowMouseDown: function (view, record, item, index, e) {
//view.el.focus(); - commented focus()
var me = this,
checker = e.getTarget('.' + Ext.baseCSSPrefix + 'grid-row-checker'),
mode;
if (!me.allowRightMouseSelection(e)) {
return;
}
if (me.checkOnly && !checker) {
return;
}
if (checker) {
mode = me.getSelectionMode();
if (mode !== 'SINGLE') {
me.setSelectionMode('SIMPLE');
}
me.selectWithEvent(record, e);
me.setSelectionMode(mode);
} else {
me.selectWithEvent(record, e);
}
}
});
为我工作
答案 1 :(得分:0)
解决所有风景和选择模型问题的根本原因的另一个解决方案:
Ext.override(Ext.dom.Element, {
focus: function (defer, dom) {
var me = this,
scrollTop,
body;
dom = dom || me.dom;
body = (dom.ownerDocument || DOC).body || DOC.body;
try {
if (Number(defer)) {
Ext.defer(me.focus, defer, me, [null, dom]);
} else {
if (dom.tagName != 'DIV') {
if (dom.offsetHeight > Ext.dom.Element.getViewHeight()) {
scrollTop = body.scrollTop;
}
dom.focus();
if (scrollTop !== undefined) {
body.scrollTop = scrollTop;
}
}
}
} catch (e) {
}
return me;
}
});