实现键盘交互ctrl + a在JointJS中选择纸上的东西

时间:2018-01-17 11:19:15

标签: javascript jointjs rappid

使用键盘交互ctrl + a选择纸张上的单元格,但它会选择页面上的所有项目以及纸张上的单元格。它选择好像在普通网页上使用ctrl + a选择整个页面。有人请指导我如何防止此键盘快捷键选择整个页面。我只想要在纸上选择单元格。

我正在尝试的代码:

var selectAll = keyboard.on('ctrl+a', selectAllHandler.bind(null, self));

function selectAllHandler(self) {
   self.StateViewModel.selectMultiple(
      self.ViewModel.nodes().concat(self.ViewModel.links()));
   return false;
}

1 个答案:

答案 0 :(得分:0)

答案可能有点迟,但键盘事件会传递KeyboardEvent参数。调用preventDefault()将取消默认操作,因此将阻止选择纸张外的任何其他项目。

keyboard.on('ctrl+a', function(e) { 
  ... // select your cells and links

  e.preventDefault();
}