我想要一个功能只有当和实际字符可以通过键入,例如制表符,大写锁定等不应该激活该功能时才会发生。我的解决方案是创建一个键in数组,如果keyup操作是这个数组中的一个键,那么该函数将不会激活。
这就是我所拥有的:
$(field).keydown(function(e){
keys = [9,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,144,145];
if($.inArray(e.which,keys) !== -1) {
// activate function
}
});
所以1.我想知道这段代码出了什么问题,出于某种原因,它做的与我想要的完全相反,即它只发生在id、tab或control等被按下的情况下。我一直在玩它,但没有运气。
2.这是实现这一目标的最好方法吗?
发布于 2016-09-14 13:39:28
..。您列出了不希望产生影响的键,但是如果在数组中找不到目标,则inArray
仅返回-1,并且仅当inArray
未返回-1时才执行。因此,如果它不在非活动键中,则inArray
返回-1,然后!==
比较返回False
,并且您的函数不会被执行。基本上,将!==
更改为==
https://stackoverflow.com/questions/39483047
复制相似问题