Javascript SlickGrid multiSelect=";假;不禁用键盘多选

Javascript SlickGrid multiSelect=";假;不禁用键盘多选,javascript,jquery,slickgrid,Javascript,Jquery,Slickgrid,我正在我的项目中使用slickgrid,我想使用它的多选禁用选项。我的问题是,multiSelect=“false”用于停止鼠标多选,但我可以使用SHIFT+箭头键组合选择多行 您是否有任何简单的(内置)解决方案也可以禁用箭头键多选,或者我必须在onSelectedRowsChanged事件中执行此操作 谢谢。经过大量搜索,我在库中的slick.rowselectionmodel.js文件中找到了这个 在handleKeyDown函数中读取并添加此行 function handleKeyDown

我正在我的项目中使用slickgrid,我想使用它的多选禁用选项。我的问题是,multiSelect=“false”用于停止鼠标多选,但我可以使用SHIFT+箭头键组合选择多行

您是否有任何简单的(内置)解决方案也可以禁用箭头键多选,或者我必须在onSelectedRowsChanged事件中执行此操作


谢谢。

经过大量搜索,我在库中的slick.rowselectionmodel.js文件中找到了这个

在handleKeyDown函数中读取并添加此行

function handleKeyDown(e) {
      if (!_grid.getOptions().multiSelect) {
        return false;
      }

如果您想要更安全的选项,请在绑定到SlickGrid的键盘事件时使用jquery的
event.stopImmediatePropagation()
函数,以便稍后通知SlickGrid事件传播将停止

示例代码:

grid.onKeyDown.subscribe((e, args) => {
  e.stopImmediatePropagation();
  return;
});

在此处阅读有关此函数的更多信息:

我可以看到您的代码吗?我已经做了一个测试,它似乎可以工作。我的项目很复杂,要把它放到JSFIDLE中,但我很快就会创建一个示例。谢谢,只放相关的部分。这里有一个示例:multiSelect:false选项禁用SHIFT+鼠标,CTRL+鼠标,但SHIFT+箭头键仍然处于启用状态。对不起,我忘了告诉你,这不是列选择,但是行选择。谢谢!它起作用了。它是否可以以某种方式合并到主SlickGrid回购协议中(我在这里考虑拉取请求)?因为我在我的项目中使用bower,我不想以这种方式破解代码。为什么你没有脚本的本地副本?实际上我们在我的工作场所使用slickgrid,依赖本地副本是不安全的(任何人都可以更新脚本,因此本地更改会丢失)@gsanta source control是您的朋友。@gsanta我认为如果有人更改或删除脚本,将脚本放在本地服务器上比放在web上更安全?