【问题标题】:Event on Home/End keys pressed using cell editing使用单元格编辑按下 Home/End 键上的事件
【发布时间】:2017-09-05 07:35:59
【问题描述】:

使用 Ag-Grid 8.1.1(免费版)和 AngularJS 1.5.8

我有一个可编辑的网格。

网格的默认行为是Use home and end to go to the first and last rows.(参见https://www.ag-grid.com/javascript-grid-keyboard-navigation/?framework=angularjs

我的问题是:在编辑单元格时,我按 End 键转到输入的末尾。网格向下滚动到最后一行。

如何覆盖此行为?

到目前为止我做了什么:

  onCellEditingStarted: function(gridEvent) {
      $($element).on('keydown.grid', function(jqueryEvent) {
        jqueryEvent.stopPropagation();
        jqueryEvent.preventDefault();
        if (e.key === 'End') {
          myCustomFunction();
        }
      });
    },

myCustomFunction被调用,但网格的默认行为并没有被e.stopPropagation(); e.preventDefault();阻止

【问题讨论】:

  • 你试过event.stopPropagation(); event.preventDefault();而不是e.stopPropagation(); e.preventDefault();吗?
  • @akash event 不是 JQuery 事件,而是 ag-grid 事件。它是这样构建的{node: RowNode, data: Object, value: "Nombre", rowIndex: 1, column: Column…}。我在代码中更改了名称。

标签: javascript angularjs ag-grid


【解决方案1】:

为您希望能够使用主页和结束按钮的每一列设置最简单的答案cellEditor: 'popupText'。这是一个plnkr,它演示了这种行为。我不确定这是否会被开发人员视为错误/缺陷,但它至少可以工作到 v 9。

【讨论】:

  • 效果很好!谢谢;)
猜你喜欢
  • 2014-10-06
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
相关资源
最近更新 更多