我刚遇到这个问题。我正在使用空格键来播放/暂停页面上的一个主要播放器。在做一些测试的时候,我发现如果我输入一个搜索或评论并按空格键,它就会继续播放并暂停播放器,这会让人烦恼。我正在寻找方法来检查输入是否集中,而不是使用空格键进行播放/暂停,否则将其用于播放暂停,但无法找到解决方案。
在逻辑方面,我需要做一些像
这样的事情if (unicode == 32 "SPACEBAR" && "No input is focused, so spacebar is not used for typing ") {
//Some stuff here
}
答案 0 :(得分:2)
您可以尝试使用document.activeElement
并检查类型。
例如:
document.activeElement.nodeName === 'INPUT'
所以你的if应该是这样的:
if( unicode == '32' && document.activeElement.nodeName !== 'INPUT' ) {
// play/pause video
}
答案 1 :(得分:0)
检查document.activeElement
答案 2 :(得分:0)
使用事件目标属性:
$(document).on('keydown', function (e) {
if(!$(e.target).is('input[type=text]') && unicode === 32) {
//stuff here
}
});