簡體   English   中英

擊倒事件; 在Firefox中不工作。 但是,使用Chrome瀏覽器

[英]key down event of ; are not working in firefox. But, working in chrome

 $("body").on("keydown", function (evt) { if (evt.keyCode === 186) { $("#message").html("Pressed ;"); } else { $("#message").html("Not Pressed ;"); } }) d3.select("body").on("keydown", function () { if (d3.event.keyCode === 186) { $("#d3-message").html("D3 - Pressed ;"); } else { $("#d3-message").html("D3 - Not Pressed ;"); } }) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> jQuery <div id="message"></div> <hr> D3 <div id="d3-message"></div> 

我的代碼中有這種邏輯,而且這僅適用於chrome,不適用於Firefox

除此之外,即使對於D3.js,也需要解決此問題

提前致謝

正如metal03326所指出的; Chrome和Firefox不同。 此頁面包含不同瀏覽器如何處理keyCode的細分。

您可以通過檢查.key屬性來解決此問題:

$("body").on("keydown", function (evt) {
    if (evt.key === ';') { console.log("pressed ;"); }
})

.keyCode屬性已棄用,您不應使用它。 KeyboardEventMDN頁面顯示的內容如下:

警告:不建議使用此屬性; 您應該改用KeyboardEvent.key (如果有)。

完整摘要:

 $("body").on("keydown", function (evt) { if (evt.key === ';') { $("#message").html("Pressed ;"); } else { $("#message").html("Not Pressed ;"); } }) d3.select("body").on("keydown", function () { if (d3.event.key === ';') { $("#d3-message").html("D3 - Pressed ;"); } else { $("#d3-message").html("D3 - Not Pressed ;"); } }) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> jQuery <div id="message"></div> <hr> D3 <div id="d3-message"></div> 

在Firefox中; 是與代碼59 您可以在這里檢查。

 $("body").on("keydown", function (evt) { var isFirefox = typeof InstallTrigger !== 'undefined'; if (evt.keyCode === 186 && !isFirefox) { $("#message").html("Pressed ;"); } else if(evt.keyCode === 59 && isFirefox){ $("#message").html("Pressed ;"); }else { $("#message").html("not Pressed ;"); } }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="message"></div> 

暫無
暫無

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

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