问题标签 [mousetrap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2544 浏览

javascript - 在另一个组件中反应 JS 调用函数

我正在尝试使用Mousetrap库从 React 中的另一个组件调用一个函数。

现在,我想做的是Mousetrap.bind('e', function(e) { Child.open() });在父级的某个地方调用(因为父级将被渲染,而子级只会在此命令上渲染)。但是,我不确定在哪里实际包含它。在构造函数中调用它会更好,或者在某个地方render(),或者我没有考虑过的其他地方?

0 投票
1 回答
29 浏览

javascript - 检测“?”字符的主按钮

我正在使用 Mousetrap 来检测alt+/

实际上我这样做是因为我对/按钮上打印的替代字符(?)感兴趣

如果对于使用英文键盘(或?指定为/按钮的辅助操作的任何键盘)的用户来说,可以很容易理解为什么我要求他按下这样的键,对于使用不同键盘的用户(我想到意大利有自己专用按钮的键盘?)很难理解我为什么要他按这样的按钮。

那么问题是:

有没有办法知道哪个按钮上有?符号,然后将 Mousetrap 快捷方式绑定到该按钮?

0 投票
2 回答
148 浏览

wordpress - Wordpress 附件页面使用键盘导航

我正在使用 WordPress。

我想用左右键导航我的附件页面

这是我的代码,但不起作用;

如果我改变它

对此

脚本运行良好。但我不能使用基于 WordPress 的链接(比如next_image_link();

我能做些什么?

0 投票
2 回答
5866 浏览

reactjs - 一种在 React 中管理键盘快捷键的方法

在 Web 应用程序中管理键盘快捷键有点棘手。

考虑一个Widget组件。

我希望能够基于键盘快捷键聚焦某些元素,并在该组件上运行功能。

setBindings 和 removeBindings,将使用诸如mousetrap之类的库来绑定特定的键盘快捷键

现在,上述解决方案存在两个问题:

  1. 它使键盘快捷键行为不可预测
    • 考虑安装两个小部件的情况,一个会覆盖另一个
  2. 小部件与快捷方式紧密耦合——现在如果有人不想使用快捷方式,他们必须在Widget. 这破坏了代码的“粒度”——理想情况下,用户应该能够使用 Widget,然后是 WidgetWithShortcuts,或者类似的东西

另一个潜在的解决方案是传递一个实例

第二种解决方案的问题是:

  1. widgetInstance 将不得不公开许多可公开访问的方法,例如 focusSomeThing 或 invokeProp 等

  2. 如果Widget想要有一些工具提示,在某些地方显示键盘快捷键,则有关键盘快捷键的信息将在不同的地方重复。可以在一个地方更改快捷方式,而在另一个地方忘记这样做

是否有最佳实践,或者关于如何通过解决上述问题来实现键盘快捷键的一些想法?

0 投票
0 回答
87 浏览

javascript - Javascript分配键盘快捷键来执行功能,我的代码不起作用,为什么?

链接到我的笔:https ://codepen.io/dev999/pen/pPdOGW链接到我的待办事项应用程序。我是初学者,这是我第一次使用库和基本的 DOM 操作。我想为我的待办事项列表中的每个操作分配键盘快捷键。有人可以帮我解决这个问题吗?谢谢!

我用的东西:

Mousetrap 库链接:cdnjs.cloudflare.com/ajax/libs/mousetrap/1.6.1/mousetrap.js

链接到图书馆的解释:https ://craig.is/killing/mice

// 尝试将键盘 //shortcut ctrl+q 分配给操作 //"addTodo()"。//使用捕鼠器库

}

0 投票
2 回答
138 浏览

javascript - 诱捕 command+shift+w 捕鼠器不起作用

是否可以在捕鼠器中捕获“command+shift+w”?因为我试着做

我的浏览器(Chrome)窗口正在关闭。我是否可以仅针对我的应用程序的指定页面以某种方式阻止浏览器关闭此快捷方式?

0 投票
0 回答
105 浏览

ruby-on-rails - 使用 rails mousetrap gem 从数据键绑定启动引导模式

我想知道是否有人知道用于创建键绑定的捕鼠器 gem 是否能够启动引导模式对话框。

就目前而言,当我使用“link_to”启动模式时,例如:

这将调用 new.js.erb 文件,该文件使用适当的 _form 部分填充模态。然而,当我将 mousetrap 键绑定参数添加为:

结果不再是从显示表单的 new.js.erb 生成的模态,而是控制器似乎将其选为 format.HTML 并因此呈现未真正使用的“new.html.erb”。

关于如何执行键绑定以显示模式而不是通过 .js 进行的任何想法?

0 投票
1 回答
1498 浏览

javascript - 在 React 项目中导入捕鼠器 - 无法读取未定义的属性“绑定”

我正在尝试将捕鼠器导入反应项目以进行一些简单的键盘绑定。我通过纱线安装了捕鼠器。我没有任何导入错误,但是当我尝试使用 Mousetrap 库对象时它是未定义的。这是来自我的主要 App.tsx 组件

这是我得到的错误。 错误

我也尝试启动一个 Mousetrap 对象来使用,但我得到了这个错误(而且文档中没有说我需要这样做)。

错误

我正在使用 react、typescript、mobx、material-ui 和其他几个库,而且我对它们都很陌生。任何意见将是有益的。

0 投票
1 回答
60 浏览

javascript - 捕鼠器发射两次

这是我的代码:

我有两个问题:

1.当我按下时l,我看到了两个日志。任何想法为什么?

2.当我按下k + l时,我也看到了两个日志(我明白为什么)但是有什么办法可以防止这种情况发生吗?

谢谢

0 投票
0 回答
642 浏览

angular - Angular2:使用 HostListener 与 Mousetrap 的快捷键

我正在开发一个 Angular2 项目,其中我想为各种功能合并快捷键。

我对两种方法感到困惑。一种是使用 HostListener 创建快捷方式,如下所示:

另一种方法是使用Mousetrap JS 框架,然后围绕它创建一个服务,该服务是为我的项目定制的,就像在angular2-hotkeys中所做的那样。

根据我的一些使用 Mousetrap 而不是 Hostlistener 的优点 -

  1. 添加/删除/暂停/取消暂停快捷方式的常用服务。
  2. 从配置文件中读取热键。
  3. 易于编码和维护。

对于 angular2 来说,这将是一个更好的方法。

我特别担心性能下降。