【问题标题】:How to lose focus on a cell in SlickGrid如何在 SlickGrid 中失去对单元格的关注
【发布时间】:2012-12-03 17:25:18
【问题描述】:

我的问题与question 完全相反。所以我正在尝试的是在用户从该单元格中的自动完成组合框中选择一个项目后,我试图找到一种方法来失去对单元格的关注。

 $input.autocomplete({
                delay: 0,
                minLength: 0, 
                source: args.column.options,
                select: function (event, ui) {
                    $input.val(ui.item.label);
                   grid.getEditController().commitCurrentEdit();
              return false;
                }
            });

完成编辑后,我使用此代码间接失去焦点。它工作正常,但是,单元格以某种方式保持选中状态。

grid.getEditController().commitCurrentEdit();

我也试过下面的代码失去焦点,但每次运行代码时都会抛出错误。

grid.setActiveCell();
grid.setSelectedRows(-1);

从自动完成组合框中选择一个项目后,我希望网格失去焦点并且在网格的视口上不选择任何内容。

提前感谢您的回答。

【问题讨论】:

  • 您是否尝试过简单地将.blur() 添加到您的选择函数中$input.val(ui.item.label) 语句的末尾。

标签: jquery-autocomplete slickgrid


【解决方案1】:

尝试拨打grid.resetActiveCell()

【讨论】:

  • 而不是 grid.setSelectedRows(-1);应该使用:grid.setSelectedRows({});
【解决方案2】:

上周对 master 分支进行了一次提交,可能会解决您的问题:Fix keyboard focus getting trapped when cell has tabbable elements.

【讨论】:

    【解决方案3】:

    您可以按如下方式实现,

    如果(grid.getActiveCell()){ var row = grid.getActiveCell().row; var cell = grid.getActiveCell().cell; grid.gotoCell(行,单元格,假); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-23
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多