问题描述
我必须为一个html元素同时使用keypress和keydown处理程序。但是keypress和keydown都被触发了(尽管这是可以预期的)。结果,当我按下一个键时,我在contend div中得到了两个字符串。
.only keydown不允许我像'aaaaaaa'这样复制连续的字符串,这是通过将'a'按钮按住到'content'div中来实现的。 我需要两个处理程序,因为如果我按住某个键,我的内容div中会出现单个字母,而不是字母数组。这就是为什么我在这里需要按键处理程序的原因 。但是当另一个是积极。如何完成。或者,如果还有其他更好的方法,请告诉我
var editor=document.getElementById('editor'); var content=document.getElementById('content'); editor.addEventListener('keypress',function(e){ addText(String.fromCharCode(e.which)); }); editor.addEventListener('keydown',function(e){ addText(String.fromCharCode(e.which)); }); function addText(words){ content.innerHTML=content.innerHTML+words; }
#content{ width:500px; height:auto; } #editor{ position:relative; width:400px; height:200px; border:1px solid black; word-wrap: break-word; padding-left:4px; padding-right:4px; padding-bottom:1em; box-sizing:border-box; overflow:scroll; }
<div id='editor' contenteditable='true' ></div> <div id='content'></div>
1楼
Zafer Ayan
0
2015-07-25 23:50:38
您可以使用keyup功能来代替keypress和keydown。