newsudhc3634140
2016-09-22 15:59:11
如題,為什么把keydown換成click又能有輸出呢?
function?addEnterEvent(element,?listener)?{
????addEvent(element,?"keydown",?function(event){???????//我把keydown換成click可以,可是keydown,keyup觸發(fā)不了?
???? var?event?=?event???event?:?window.event;
???? console.log(event.type)
???? console.log(event.keyCode)
???? if?(event.keyCode?==?13)?{????????//enter健
???? console.log("22");
???? clicklistener();????????//一個(gè)處理函數(shù)而已,跟click還是enter沒關(guān)系
???? }
????});
}
addEnterEvent($("#doma"),?clicklistener());????????//$("#doma")自己的封裝,獲取id為doma的div
4 回答
已采納

OlderSkee
TA貢獻(xiàn)123條經(jīng)驗(yàn) 獲得超103個(gè)贊
開始還以為$("#doma")是jQuery,然后測試半天。。發(fā)現(xiàn)jq沒有addeventlistener..
因?yàn)?獲取keydown的時(shí)候 需要有個(gè)焦點(diǎn)吧 .. 但是div本身不能獲得焦點(diǎn)
<div id="doma" ?tabindex="1">
這樣就可以了 ... 給div設(shè)置個(gè)tabindex ?讓他強(qiáng)行獲得焦點(diǎn)。。
當(dāng)然這樣體驗(yàn)是很糟糕了..?
一般這種keydown事件給document 或者 input 比較好啦 。

orionwei
TA貢獻(xiàn)23條經(jīng)驗(yàn) 獲得超2個(gè)贊
因?yàn)槟承┎荒躥ocus的元素不支持這個(gè)方法,如果真的需要的話可以在document上面綁keydown

newsudhc3634140
TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超1個(gè)贊
function?addEvent(element,?event,?listener)?{ ????element.addEventListener(event,listener); } //下面是處理函數(shù) function?clicklistener(event)?{ var?event?=?event???event?:?window.event; console.log(event.type); var?div1?=?document.getElementById("doma"); div1.firstChild.nodeValue?=?"加油!"; }
添加回答
舉報(bào)
0/150
提交
取消