Jquery捕获选项卡+一些组合键
Jquery capture tab + some key combination
例如,如何捕获带有jQuery的tab+t
组合?我发现了很多关于alt
、shift
和ctrl
的例子,因为事件对象包含特殊的标志,以便了解(例如)是否按下了alt。但选项卡没有这样的东西。
这应该可以工作。这有点复杂,可能有一种更简单的方法,但效果很好。
JSFiddle:https://jsfiddle.net/spybhhxc/
var tabdown = false;
var tdown = false;
$(document).keydown(function(e) {
if(e.which == 9) {
tabdown = true;
}
if(e.which === 84)
{
tdown = true;
}
if(tabdown && tdown)
{
//do your thing
}
});
$(document).keyup(function(e) {
if(e.which == 9) {
tabdown = false;
}
if(e.which === 84)
{
tdown = false;
}
});
不过,这会带来一个问题,因为一旦按下tab键,文档就会在tab键导航到浏览器中的元素时失去焦点。你最好使用alt
或ctrl
这样不与浏览器交互的东西。
我们可以让一个tab键按下[tabPressed]变量在按下键时设置为true,在按下键事件时取消设置。我们将使用tab键按下[tabPressed]变量来检查它在其他按键活动中是否处于按下状态。制表键代码为9。
jsfiddle链接http://jsfiddle.net/e3Lveyj2/
var tabPressed=false;
function handleKeyDown(e) {
var evt = (e==null ? event:e);
if(evt.keyCode == 9){
tabPressed=true;
}
if ((tabPressed) && (evt.keyCode == 84)) {
alert ("You pressed 'Tab+t'")
}
}
function handleKeyUp(e) {
var evt = (e==null ? event:e);
if(evt.keyCode == 9){
tabPressed=false;
}
}
document.onkeydown = handleKeyDown;
document.onkeyup = handleKeyUp;
相关文章:
- Jquery捕获选项卡+一些组合键
- 如何使用jquery将两个字段组合为下拉菜单中的选项
- 通过参数设置html组合框的选定选项
- 如何在组合堆叠条形图上设置pointDot选项
- 当表单控件选项具有多个参数时,如何在组合框中填充所选项目
- Webix组合/richselect中的筛选选项
- 组合$window和$stateProvider以打开一个新的浏览器选项卡窗口
- Jquery或Javascript从组合框中删除除一个选项之外的所有选项
- 将 Jquery 可筛选产品组合转换为选项选择
- 节点 - 用于发送电子邮件的选项,发送网格和节点邮件之一或组合
- 计数并显示组合的选择选项值
- 动态地将选项添加到 Angular 选定的组合框中
- 如何使用引导组合框创建自定义选项
- 使jQuery组合框的一个选项不可选择
- 根据其他组合框中的选定选项更改下拉选项
- 在组合框中计数所选选项
- 如何测量展开的组合框的大小(选择选项)
- 需要使用Knockout.js在组合框中保留动态创建的选项
- 带有默认选项的可编辑组合框
- html初始化中webbix组合选项值