簡體   English   中英

在頁面外發布密鑰時是否存在KeyUp事件?

[英]Is there a KeyUp event when a key is released outside the page?

我現在可以看到使用JavaScript按下哪些鍵,使用依賴於KeyDown / KeyUp事件的庫。 雖然在頁面內按下/釋放按鍵時可以很好地工作,但是當在頁面外部釋放按鍵時(即,當它沒有焦點時),事件不會觸發。

因此,人們可以按Enter時,頁面已經關注(事件會火,一切順利的話)的關鍵,但是當他釋放它時,頁面不具有焦點,該事件火,這導致了unability我知道鑰匙是否仍然按下。

至於使用的庫,請參考: http//www.n-son.com/scripts/keyLib/keyLib.js

當頁面沒有焦點時,是否可以知道何時釋放密鑰? 或者是否有一般功能來檢查在特定時間是否按下某個鍵?

當窗口失去焦點時,我會將所有this-key-is-down標志重置為false ,這可以使用windowblur事件來完成:

var someKeyIsDown;

window.onblur = function() {
    someKeyIsDown = false;
};

如果他們沒有與“你的”程序交互(在網頁的情況下,'你的'程序是他們的網絡瀏覽器的一部分),那么他們所做的任何事情都不會產生你的程序所知道的事件。

允許網頁了解與其無關的事件(例如我在完全獨立的程序中鍵入機密電子郵件,或輸入密碼或其他任何內容)將是一個巨大的安全風險。

難道你不能使用更高級別的事件,如KeyPressed,它保證密鑰被擊落然后被釋放?

暫無
暫無

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

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