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

How to trigger a JavaScript event when not in a text field

本文关键字:JavaScript 事件 字段 文本      更新时间:2023-09-26

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

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

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

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

//Check if there are any text boxes that are focused
if($("input[type='"text'"]:focus").length == 0)
{
}

检查引发事件的元素,并停止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
    }
});