2016-02-13 47 views
1

我在想,如果有的话,框架将是最好的实现捕获键击并将它们附加到,例如“p”元素。我想要实现的是让客户端在键盘上键入内容,然后将该句或其他内容附加到html中,从而将其显示在“p”元素中。将击键附加到div JS

重要声明;我不想在给定的按键时调用一个函数 - 例如。 shift + alt,而我试图做的是,将键盘输入流式传输到html元素。

回答

1

您不一定需要该任务的框架。

除了凯克里斯滕森的另一个possbily可行的办法是可视屏幕面积之外创建一个文本框,自动将焦点设置到该文本框,并为文本框的变化监听器。

只要发生更改,您就可以简单地将目标元素的内容替换为文本框的内容。

这样可以节省人工听键盘事件,区分大小写字母等

+0

“_this节省了您手动听键盘事件,区分的麻烦大写和小写字母etc_” - '文件.body.addEventListener(“keypress”,function(e){console.log(String.fromCharCode(e.which);})'([fiddle](https://jsfiddle.net/epyw51jh/)) – Andreas

+0

@And reas够了,大小写工作正常。当涉及换行或退格时,您仍然遇到麻烦 – Timo

0

,我肯定会用jQuery去与包含最新版本的更新字符串的相同属性的div捕获键,然后不断.replace()divCodecademy对这种类型的jQuery使用有很大的经验。

虽然我不是专家。我相信别人比我自己有更好的答案。

0

像这样的麻烦?

的Html

<p id="text"></p> 
<input id="textinput"></input> 

的js

//Register on keyup, append text from input-field to <p> element. 
window.addEventListener("keyup", function() { 
    document.getElementById("text").innerHTML=document.getElementById('textinput').value; 
}); 

的jsfiddle:https://jsfiddle.net/vwobq9xf/1/