簡體   English   中英

如何在不在文本字段中時觸發JavaScript事件

[英]How to trigger a JavaScript event when not in a text field

我有一個音樂博客,我希望空格鍵能夠在我的音樂播放器上觸發播放和暫停之間的切換。 當用戶沒有在文本字段中輸入內容時,我只希望它這樣做。 顯然,當用戶在我的搜索欄或任何類型的表單中鍵入內容時,我不希望音樂播放器切換。

現在,我正在使用以下代碼,但是當用戶也在文本字段中時它將切換:

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

有簡單的解決方案嗎? 是的,順便說一句,我知道event.preventDefault(); 不允許用戶在文本字段中鍵入空格鍵,但是當您不在文本字段中時,它會阻止頁面向下跳轉。

//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
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM