AG 网格在编辑单元格上触摸事件
AG Grids Touch Event On Edit Cell
我无法对 ag-grid 上的单元格进行编辑以处理 phone 或平板电脑上的触摸事件,单击鼠标即可正常工作。
我也无法使用触摸将列拖动到工具栏的枢轴选项中。
这边还有吗?
所以我设法通过对库进行非常小的编辑来修复单元格的编辑:
我只是将 touchstart 触摸事件添加到双击处理程序中 - 当我有时间时,我将制作自己的触摸处理程序,因为双击可能比编辑单元格做的更多。
代码:
RenderedCell.prototype.addCellDoubleClickedHandler = function () {
var that = this;
var colDef = this.column.colDef;
this.vGridCell.addEventListener('dblclick', function (event) {
// always dispatch event to eventService
var agEvent = that.createEvent(event, this);
that.eventService.dispatchEvent(grid.Events.EVENT_CELL_DOUBLE_CLICKED, agEvent);
// check if colDef also wants to handle event
if (typeof colDef.onCellDoubleClicked === 'function') {
colDef.onCellDoubleClicked(agEvent);
}
if (!that.gridOptionsWrapper.isSingleClickEdit() && that.isCellEditable()) {
that.startEditing();
}
});
//TOUCH HANDLER
this.vGridCell.addEventListener('touchstart', function (event) {
// always dispatch event to eventService
var agEvent = that.createEvent(event, this);
that.eventService.dispatchEvent(grid.Events.EVENT_CELL_DOUBLE_CLICKED, agEvent);
// check if colDef also wants to handle event
if (typeof colDef.onCellDoubleClicked === 'function') {
colDef.onCellDoubleClicked(agEvent);
}
if (!that.gridOptionsWrapper.isSingleClickEdit() && that.isCellEditable()) {
that.startEditing();
}
});
};
我也会看看拖放功能,尽管目前这对我来说不是那么重要。似乎 AG Grids 已经为此编写了自己的功能,所以我确定使用可以复制的触摸事件来为触摸工作。
已在 iPhone 6
上的 GOOD 浏览器中进行测试和工作
我无法对 ag-grid 上的单元格进行编辑以处理 phone 或平板电脑上的触摸事件,单击鼠标即可正常工作。
我也无法使用触摸将列拖动到工具栏的枢轴选项中。
这边还有吗?
所以我设法通过对库进行非常小的编辑来修复单元格的编辑:
我只是将 touchstart 触摸事件添加到双击处理程序中 - 当我有时间时,我将制作自己的触摸处理程序,因为双击可能比编辑单元格做的更多。
代码:
RenderedCell.prototype.addCellDoubleClickedHandler = function () {
var that = this;
var colDef = this.column.colDef;
this.vGridCell.addEventListener('dblclick', function (event) {
// always dispatch event to eventService
var agEvent = that.createEvent(event, this);
that.eventService.dispatchEvent(grid.Events.EVENT_CELL_DOUBLE_CLICKED, agEvent);
// check if colDef also wants to handle event
if (typeof colDef.onCellDoubleClicked === 'function') {
colDef.onCellDoubleClicked(agEvent);
}
if (!that.gridOptionsWrapper.isSingleClickEdit() && that.isCellEditable()) {
that.startEditing();
}
});
//TOUCH HANDLER
this.vGridCell.addEventListener('touchstart', function (event) {
// always dispatch event to eventService
var agEvent = that.createEvent(event, this);
that.eventService.dispatchEvent(grid.Events.EVENT_CELL_DOUBLE_CLICKED, agEvent);
// check if colDef also wants to handle event
if (typeof colDef.onCellDoubleClicked === 'function') {
colDef.onCellDoubleClicked(agEvent);
}
if (!that.gridOptionsWrapper.isSingleClickEdit() && that.isCellEditable()) {
that.startEditing();
}
});
};
我也会看看拖放功能,尽管目前这对我来说不是那么重要。似乎 AG Grids 已经为此编写了自己的功能,所以我确定使用可以复制的触摸事件来为触摸工作。
已在 iPhone 6
上的 GOOD 浏览器中进行测试和工作