1

我有一个音乐博客,我希望空格键在我的音乐播放器上触发播放和暂停之间的切换。我只希望它在用户没有在文本字段中输入内容时执行此操作。显然,当用户在我的搜索栏中输入内容或任何类型的表单时,我不希望音乐播放器切换。

现在,我正在使用以下代码,但是当用户在文本字段中时它也会切换:

$(document.documentElement).keydown(function(event)
{
    if(event.which === 32)
    {
        event.preventDefault();
        //Some code to perform the start/pause toggle
    }
});

有简单的解决方案吗?是的,顺便说一句,我知道 event.preventDefault(); 不允许用户在文本字段中键入空格键,但当您不在文本字段中时,它可以防止页面跳下。

4

2 回答 2

4
//Check if there are any text boxes that are focused

if($("input[type=\"text\"]:focus").length == 0)
{

}
于 2013-07-24T22:06:39.440 回答
-1

检查引发事件的元素并阻止 input-y 元素触发操作:

$(document.documentElement).keydown(function(event)
{
    if(event.which === 32 && event.target.value===undefined )
    {
        event.preventDefault();
        //Some code to perform the start/pause toggle
    }
});
于 2013-07-24T22:07:20.703 回答