如何为一个对象管理两个键盘事件处理程序

时间:2015-07-25 23:45:35

标签: javascript html css

我必须为一个html元素使用keypress和keydown处理程序。但是按下了按键和keydown(尽管如此)。结果,当我按下一个键时,我在我的竞争div中得到两个字符串。< / p>

。只有keydown不允许我像#aaaaaaaa&#39;那样复制一个连续的字符串。我通过持有&#39; a&#39;按钮进入我的内容&#39; div。我需要两个处理程序,因为如果我按住一个键我在我的内容div中得到一个字母,而不是一系列字母。那就是&#39;为什么我需要这里的按键处理程序。但我确实需要在其他人处于活动状态时停止。如何做到。如果还有其他更好的办法,请告诉我

&#13;
&#13;
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;
  }
&#13;
#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;
	  }
&#13;
<div id='editor' contenteditable='true' ></div>
<div id='content'></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您可以使用keyup函数代替keypress和keydown。