问题标签 [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 投票
2 回答
6593 浏览

javascript - 在特定元素上使用捕鼠器?

我正在使用 Mousetrap javascript 库,并且想要捕获特定元素的输入。

场景是我有一个用于用户名和密码的文本框,KnockoutJS 绑定到该文本框,然后当按下按钮时,发出 ajax 请求以登录用户。现在由于没有表单并且它不是真正的按钮,它是 Jquery UI 变成按钮的锚点,我想知道是否有一些简单的方法可以让捕鼠器绑定到元素而不是文档级别。

因此,例如一个普通的捕鼠器绑定将是:

现在它将检查页面上的任何输入键(文本框元素之外),然后根据它做一些事情。现在的问题是,在这种情况下,我希望仅在特定元素范围内执行此事件时才能捕获该事件。

因此,例如,我想做这样的事情:

或者可能更流利,例如:

有没有办法做到这一点?目前我能看到的唯一方法(使用 Mousetrap)是拥有此文档范围绑定,并在可能的情况下尝试获取引发事件的元素。

我知道你可以用 Jquery 或 vanilla js 做这种事情,但是因为我已经加载了 Mousetrap,如果可能的话,我想在这里重新使用它。

0 投票
2 回答
2143 浏览

javascript - 在事件闭包中访问可变变量

我正在尝试使用mousetrap Javascript插件以类似的方式处理一些击键,所以我想将它们编码如下:

但是,显然,i是可变的。但是,我不确定如何在响应中与事件参数竞争的地方编写一个闭包。关于如何处理这种情况的建议?

0 投票
2 回答
1395 浏览

javascript - 制作捕鼠器点击链接

如果我有一个链接并且想要绑定一个键盘快捷键,我应该怎么做?这似乎不起作用:

0 投票
3 回答
100 浏览

javascript - 扩展 on() 函数的 jQuery 插件不接受“this”

我正在写一个插件来扩展on()jQuery的功能来实现mousetrap.js

我应该从函数中获取this并将其传递给on().

这是我的代码:

问题是,如果我使用它,事件会附加到所有元素,而不仅仅是选定的元素。

http://jsfiddle.net/zkLMX/1/

我究竟做错了什么?

0 投票
2 回答
5305 浏览

jquery - 当字段处于焦点时,Mousetrap.bind 不起作用?

我正在使用 Mousetrap 创建键盘快捷键,当任何字段处于焦点时它不起作用。这是查看演示的链接http://davidwalsh.name/keyboard-shortcuts我从中获取代码。当我打电话时

像这样它不起作用,当鼠标指向文本框或下拉列表等时。任何人都可以为我提供解决方案。提前致谢。

0 投票
1 回答
665 浏览

javascript - MouseTrap 在模态弹出窗口中失去焦点

我有一个使用mousetrap API 作为键盘快捷键的Web 应用程序。我在以下场景中遇到困难:我在一个模态(jQueryUI)中,这个模态有第二个模态警报。当警报关闭时,焦点不会返回到主模态,使快捷键不起作用,您需要在模态div中单击鼠标才能使快捷键再次起作用。我的问题是:有什么方法可以让捕鼠器忽略对 div 的关注并假设全局行为?
如果没有,有没有办法解决这个问题?

0 投票
1 回答
177 浏览

canvas - 很想知道为什么我的带有 Mousetrap 的 Createjs 运行缓慢。(提供jsfiddle)

我正在使用新的 createjs,他们已经删除了翻转和 addflipframes。显然 scaleX=-1 应该更快,但现在当我想左右移动我的角色时,我得到了一个奇怪的延迟。我只是希望我的运动功能编码错误,或者只是 mousetrap.js 对 create.js 不友好

http://jsfiddle.net/w5uZF/8/这是带有测试游戏的jsFiddle。我只是在学习如何使用新系统。

这些是我的捕鼠器绑定:

这些是我的运动功能:

我想如果我展示我是如何制作我的精灵的,它有 8 帧,那会很好。

我愿意接受任何建议和批评,因为我很想知道如何提高运动表现。

我尝试使用原生 Javascript 键事件来移动我的角色,但效果是一样的。当我左右移动时,角色的滞后情况很奇怪。

0 投票
1 回答
1668 浏览

javascript - 为什么'keydown'/'keyup'在第一次按键时没有触发?

我有一个通过左右箭头键在 x 轴上动画的精灵。它设置为在“keydown”上移动并在“keyup”上停止。问题是,它仅在第二次按键后才动画。我也试过按住左键或右键——在'keyup'时精灵仍然有动画。同样,这会在第二次按下“相同”键后取消。

我的活动从第 54 行开始。

我已经设置了一个控制台日志,因此在查看事件的同时打开控制台可能更容易理解。

哦,是的,我正在使用 EaselJS 库和 Mousetrap 键盘快捷键库;不确定这会有所不同,因为我的问题本质上与浏览器有关。对我现有代码的任何解决方法或帮助都会很棒。

JSFiddle

感谢聪明人!

0 投票
1 回答
587 浏览

javascript - 防止按键冒泡以在捕鼠器中输入

我正在使用捕鼠器来捕获按键。我想定义的快捷方式之一是专注于输入。

Mousetrap.bind('i', function() { $('.input').focus() });

聚焦工作正常,但“i”按键也会冒泡输入,并且随着聚焦,输入也会填充“i”。

有没有办法防止'i'被写入输入?任何帮助表示赞赏。

谢谢

0 投票
0 回答
490 浏览

javascript - AngularJS 选项卡和热键组合

我正在尝试使用热键来更改 AngularJS 中的选项卡。我是 AngularJS 的新手,但我确信它应该像下面的代码一样简单。因此,当按下热键时,无法更改选项卡的活动性。它现在基本上什么都不做,但是当按下“t”时,它应该显示 tab2 内容。

我创建了一个键绑定指令,它调用一个函数并使用 Mousetrap 来使用键盘快捷键。因此,当按下热键“t”时,我可以调用该函数并将活动选项卡更改为 true,但我无法显示更改在视图中。

这是我的 html 文件

这是 app.js 文件

这是一个 Plunker