有没有办法在没有文本框的情况下在 Javascript/Html 中输入文本?
2020-12-23
910
我试图使用自定义命令将自定义终端制作成网站,但我很难在不使用文本框的情况下输入文本。我试过这个:
<input type='text' id='textInput'>
但它会创建一个文本框。 我也尝试使用这样的事件监听器:
document.addEventListener('keyup', (event)=>{
if(event.keyCode == 65 ) {
msg += 'a';
}
});
但它不起作用,因为它给出了一个错误: ReferenceError:文档未定义
即使它确实如此,对每个键都这样做也会很慢。
3个回答
let txt = document.getElementById('textInput')
txt.addEventListener('keyup', (event) => {
if(event.keyCode == 65 ) {
msg += 'a';
}
});
如果您不喜欢在框中输入文本的感觉/外观,您可以随时使用 CSS 自行编辑它
您可以执行如下操作:
<style>
#bg{
background-color: black;
padding: 10px;
}
#textInput{
color: green; #Change to a color you like
border: None;
outline: None;
line-height: 25px;
font-family: monospace; #You can also change
background-color: transparent;
width: 100%;
</style>
<div id='bg'>
<input type='text' id='textInput' >
</div>
DeeStarks
2020-12-23
如果您想输入数据但不想显示文本框,那么我建议将文本框上的 CSS 设置为
opacity: 0;
- 例如:
<input style="opacity: 0;" id="textInput" />
<script>
document.getElementById('textInput').focus(); // focus on the element
document.getElementById('textInput').addEventListener('keyup', (event) => {
if(event.keyCode == 65 ) {
msg += 'a';
}
});
</script>
编辑:更新答案以在 CSS 中使用
opacity
代替
display
c00kie
2020-12-23
您不想要文本框的轮廓?如果是这样,请尝试将其值设置为 0px:
<input type="text" style="border: 0px none;" />
也可以尝试直接从提示框获取输入:
<button onclick="promptValue()">Try it</button>
<p id="enteredValue"></p>
<script>
function promptValue() {
var textValue = prompt("Please enter a value");
document.getElementById("enteredValue").innerHTML = textValue;
}
</script>
Deepak
2020-12-23