• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

为什么这个写法触发不了javascript的键盘事件?

如题,为什么把keydown换成click又能有输出呢?                function addEnterEvent(element, listener) {                    addEvent(element, "keydown", function(event){       //我把keydown换成click可以,可是keydown,keyup触发不了?                            var event = event ? event : window.event;                            console.log(event.type)                            console.log(event.keyCode)                            if (event.keyCode == 13) {        //enter健                                    console.log("22");                                    clicklistener();        //一个处理函数而已,跟click还是enter没关系                            }                    });                }                addEnterEvent($("#doma"), clicklistener());        //$("#doma")自己的封装,获开id为doma的div

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与4

开始还以为$("#doma")是jQuery,然后测试半天。。发现jq没有addeventlistener..
因为 获开keydown的时候 需要有个焦点吧 .. 但是div本身不能获得焦点
<div id="doma" tabindex="1">

这样就可以了 ... 给div设置个tabindex 让他强行获得焦点。。

当然这样体验是很糟糕了..
一般这种keydown事件给document 或者 input 比较好啦 。

使用道具 举报

因为某些不能focus的元素不支持这个方法,如果真的需要的话可以在document上面绑keydown

使用道具 举报

functionaddEvent(element,event,listener){                element.addEventListener(event,listener);                }//下面是处理函数        functionclicklistener(event){        varevent=event?event:window.event;        console.log(event.type);        vardiv1=document.getElementById("doma");        div1.firstChild.nodeValue="加油!";}

使用道具 举报

addEvent 把这个函数的封装的代码贴一下呗
不然我这边测试不了啊~

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!