单击或按enter键时触发事件[JavaScript]

单击或按enter键时触发事件[JavaScript],javascript,Javascript,我写了这段代码,只有click事件有效,但key事件无效。谁能给我解释一下原因吗 Btn\u列表。添加文本列表(“按键”,功能(e){ var key=e.keyCode(); 如果(键===13){ 函数OnKeyEnterPressDoThis(){ 输入_Tarea(); 显示mbrofListelmts(); orderAlphaFukkabossList(); } } }); //跗骨失神经 Btn_List.addEventListener(“单击”,函数(){ 输入_Tarea(

我写了这段代码,只有click事件有效,但key事件无效。谁能给我解释一下原因吗

Btn\u列表。添加文本列表(“按键”,功能(e){
var key=e.keyCode();
如果(键===13){
函数OnKeyEnterPressDoThis(){
输入_Tarea();
显示mbrofListelmts();
orderAlphaFukkabossList();
}
}
});
//跗骨失神经
Btn_List.addEventListener(“单击”,函数(){
输入_Tarea();
显示mbrofListelmts();
orderAlphaFukkabossList();

});
您没有调用
OnKeyEnterPressDoThis
在按键事件侦听器中,您正在声明函数。将函数移出事件侦听器,并在调用事件时调用它

也使用
e.keyCode
代替
e.keyCode()因为它不是一个函数

在某些浏览器中,
e.keyCode
未定义,在这些情况下必须使用
e.which

因此,类似这样的内容应该增加一点浏览器支持:

var key = e.which || e.keyCode || 0;
代码:

function OnKeyEnterPressDoThis() {
    Input_Tarea();
    showTheNmbrOfListElmts();
    orderAlphaFukkabossList();
}

Btn_List.addEventListener("keypress", function(e) {

    var key = e.which || e.keyCode || 0;

    if (key === 13) {
        OnKeyEnterPressDoThis();
    }

});

// Agregar Tarea
Btn_List.addEventListener("click", OnKeyEnterPressDoThis);

尝试
e.which

 Btn_List.addEventListener("keypress" , function(e){ 
    var key = e.which;
                   alert(key)
 });
 Btn_List.addEventListener("click" , function(e){ 
      alert('ff') 
  });
  • 您应该扫描
    e.which
    ,因为有些浏览器不支持
    e.keyCode
  • 您应该使用
    e.preventDefault()
    ,因为在按钮上输入会触发单击事件(出于可访问性原因)
  • 您应该避免使用
    keypress
    ,而是使用
    keydown
    keydup
    事件,以避免双重事件(如上文第2节所述)
  • var Btn_List=document.querySelector('button');
    Btn_List.addEventListener(“键控”,函数(e){
    var key=e.which&&e.which | | e.keyCode();
    如果(键!==9)
    e、 preventDefault();//允许选项卡
    如果(键===13){
    console.log('Enter pressed');
    (函数OnKeyEnterPressDoThis(){
    输入_Tarea();
    显示mbrofListelmts();
    orderAlphaFukkabossList();
    }());
    }
    });
    //跗骨失神经
    Btn_List.addEventListener(“单击”,函数(e){
    console.log(e.type);
    输入_Tarea();
    显示mbrofListelmts();
    orderAlphaFukkabossList();
    });
    函数输入_Tarea(){
    console.log('Input_Tarea');
    }
    函数showTheNmbrOfListElmts(){
    console.log('showthenumbofListelmts');
    }
    函数顺序alphafukkabosslist(){
    console.log('orderAlphaFukkabossList');
    }
    点击
    
    clear console
    deam,我发现这是我的信息,我的同事从来不会这么说,所以谢谢兄弟!)谢谢兄弟,这真的帮了我很抱歉,但是这个页面还没有提供投票给任何人回答的功能,上面写着至少15分的声誉,要做到这一点,但真的很感谢你的代码非常优秀,我真的帮了我的忙。。。god deam works XD:writted.addEventListener(“按键”,函数(e){var key=e.keyCode;if(key==13){Input_Tarea();ShowthenMBrofListener();AlphaporderintheList();}(不正确),;