Javascript 按键关闭事件;在firefox中不工作。但是,在chrome工作

Javascript 按键关闭事件;在firefox中不工作。但是,在chrome工作,javascript,key-events,Javascript,Key Events,$(“body”)。打开(“按键”,功能(evt){ 如果(evt.keyCode===186){ $(“#message”).html(“Pressed;”); }否则{ $(“#消息”).html(“未按;”); } }) d3.选择(“主体”)。打开(“向下键”,功能(){ if(d3.event.keyCode==186){ $(“#d3 message”).html(“d3-Pressed;”); }否则{ $(“#d3消息”).html(“d3-未按下;”); } }) jQuer

$(“body”)。打开(“按键”,功能(evt){
如果(evt.keyCode===186){
$(“#message”).html(“Pressed;”);
}否则{
$(“#消息”).html(“未按;”);
}
})
d3.选择(“主体”)。打开(“向下键”,功能(){
if(d3.event.keyCode==186){
$(“#d3 message”).html(“d3-Pressed;”);
}否则{
$(“#d3消息”).html(“d3-未按下;”);
}
})

jQuery

D3
在Firefox中,
与代码59一起使用。您可以检查它。

正如metal03326所指出的,
的键码
在Chrome和Firefox之间是不同的。包含不同浏览器如何处理键码的细分

您可以通过检查
.key
属性来解决此问题:

$("body").on("keydown", function (evt) {
    if (evt.key === ';') { console.log("pressed ;"); }
})
.keyCode
属性已弃用,您不应使用它。报告还说:

警告:此属性已弃用;如果可用,则应改用
KeyboardEvent.key

完整片段:
$(“body”)。打开(“按键”,功能(evt){
如果(evt.key===';'){
$(“#message”).html(“Pressed;”);
}否则{
$(“#消息”).html(“未按;”);
}
})
d3.选择(“主体”)。打开(“向下键”,功能(){
如果(d3.event.key===';'){
$(“#d3 message”).html(“d3-Pressed;”);
}否则{
$(“#d3消息”).html(“d3-未按下;”);
}
})

jQuery

D3
$(“body”)。打开(“按键”,功能(evt){
var isFirefox=typeof InstallTrigger!=“未定义”;
if(evt.keyCode===186&&!iFirefox){
$(“#message”).html(“Pressed;”);
}else if(evt.keyCode===59&&isFirefox){
$(“#message”).html(“Pressed;”);
}否则{
$(“#消息”).html(“未按;”);
}
})


他们是否提供了使用jquery通过“evt.key”触发事件的方法-simulate@DinukaDeSilva我不明白你在问什么。你想做什么?D3.js有没有类似的替代品。。。。。你的答案是正确的。。。。。我还有另外两个问题1)您是否知道如何使用jquery simulate进行测试2)d3.js是否有类似的替代方案