Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不在文本字段中时触发JavaScript事件_Javascript_Html - Fatal编程技术网

如何在不在文本字段中时触发JavaScript事件

如何在不在文本字段中时触发JavaScript事件,javascript,html,Javascript,Html,我有一个音乐博客,我想让空格键在我的音乐播放器上触发播放和暂停之间的切换。我只希望它在用户未在文本字段中键入内容时执行此操作。显然,当用户在我的搜索栏或任何类型的表单中键入内容时,我不希望音乐播放器切换 现在,我正在使用以下代码,但当用户位于文本字段中时,它也会切换: $(document.documentElement).keydown(function(event) { if(event.which === 32) { event.preventDefault

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

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

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

有简单的解决办法吗?是的,顺便说一句,我知道那个事件;不允许用户在文本字段中键入空格键,但当您不在文本字段中时,它可以防止页面跳转。

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

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

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

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

工作得很有魅力!谢谢