如何使用 Javascript 将字符发送到文本输入
How do I send Chars to a text Input using Javascript
在我的项目中:CSSHTML Keyboard 我已经根据我的旧笔记本电脑键盘设置了一个键盘,这是我作为学校家庭作业制作的一个小项目。问题是,我不确定如何将特定字符添加到键盘,例如:假设我单击 Shift,然后单击 A/a,我希望它在输入中放置 "A"。如果有人可以为此提供一些信息,我将不胜感激。另外为了以后的通知,我并没有试图让 Every 键像它应该的那样工作,只有基本键(字母、数字、大写、设置符号、大写锁定、Shift、Space, 和退格键)
我做了一个计算器:Simple Calculator
我尝试使用类似的方法将 symbol/character 发送到输入,但它似乎效果不佳。
我尝试的方法是使用输入:
<input id="butn" class="output" type="textfield" name="ans" value="!The
Text input is Currently Not Available!"></input>
然后使用一小部分 Javascript 将数学方程从按钮发送到表单,然后再发送到输入,然后通过评估 Javascript 片段
求解它们
这里是 link 当前代码:CSSHTML Keyboard Finished
顺便说一句,如果键盘是 "duck tape and glue" 风格,我很抱歉,我对完善 CSS 大小和对齐仍然很陌生,所以现在我用边距和对齐方式手动编写所有内容尺码。
在对我使用的上面的计算器方法进行了一段时间的测试之后,我曾设法让它在某一时刻工作,但它是未定义的,所以在某种程度上我暂时放弃了这个项目,不管怎样,我对我的成品很满意,即使我不能用它来打字。
您可以添加这个简单的 JS 来获取 keydown 事件,获取按下的键的值并将其打印在输入中。
然后你应该配置你不想在键入时写入的键(例如特殊操作)
我已经为您设置了退格键和一些示例键。
var output = document.querySelector('.output');
addEventListener('keydown', function(e) {
e.preventDefault();
// Backspace
if ( e.key === 'Backspace' ){
output.value = output.value.substr( 0, ( output.value.length -1 ) );
// The values you dont want to write literally
} else if( e.key === 'Shift' ||
e.key === 'Control' ||
e.key === 'Alt' ||
e.key === 'AltGraph' ) {
output.value += '';
} else {
// The keydown values
output.value += e.key;
}
});
增加
关于如何使用按钮发送值的问题:
首先你必须用js为select设置"something"(比如class),
你应该设置一个值属性,稍后再获取它。
<button type="button" class="letter keys" value="1" >!<br>1</button>
然后 select 所有带有循环的按钮并在单击它们时添加一个事件。
最后只需要元素的 attributes.value 就可以用它做你想做的事了。
这里有一个例子:
var buttons = document.querySelectorAll('.letter');
for( let button of buttons ){
button.addEventListener('click',function(e){
console.log(button.attributes.value);
})
}
这对你有用,但我建议你阅读更多关于 JS 的基础知识,以便在此之前管理你想做的所有事情,因为这只是开始。
希望对你有帮助。
在我的项目中:CSSHTML Keyboard 我已经根据我的旧笔记本电脑键盘设置了一个键盘,这是我作为学校家庭作业制作的一个小项目。问题是,我不确定如何将特定字符添加到键盘,例如:假设我单击 Shift,然后单击 A/a,我希望它在输入中放置 "A"。如果有人可以为此提供一些信息,我将不胜感激。另外为了以后的通知,我并没有试图让 Every 键像它应该的那样工作,只有基本键(字母、数字、大写、设置符号、大写锁定、Shift、Space, 和退格键)
我做了一个计算器:Simple Calculator 我尝试使用类似的方法将 symbol/character 发送到输入,但它似乎效果不佳。
我尝试的方法是使用输入:
<input id="butn" class="output" type="textfield" name="ans" value="!The
Text input is Currently Not Available!"></input>
然后使用一小部分 Javascript 将数学方程从按钮发送到表单,然后再发送到输入,然后通过评估 Javascript 片段
求解它们这里是 link 当前代码:CSSHTML Keyboard Finished
顺便说一句,如果键盘是 "duck tape and glue" 风格,我很抱歉,我对完善 CSS 大小和对齐仍然很陌生,所以现在我用边距和对齐方式手动编写所有内容尺码。
在对我使用的上面的计算器方法进行了一段时间的测试之后,我曾设法让它在某一时刻工作,但它是未定义的,所以在某种程度上我暂时放弃了这个项目,不管怎样,我对我的成品很满意,即使我不能用它来打字。
您可以添加这个简单的 JS 来获取 keydown 事件,获取按下的键的值并将其打印在输入中。
然后你应该配置你不想在键入时写入的键(例如特殊操作)
我已经为您设置了退格键和一些示例键。
var output = document.querySelector('.output');
addEventListener('keydown', function(e) {
e.preventDefault();
// Backspace
if ( e.key === 'Backspace' ){
output.value = output.value.substr( 0, ( output.value.length -1 ) );
// The values you dont want to write literally
} else if( e.key === 'Shift' ||
e.key === 'Control' ||
e.key === 'Alt' ||
e.key === 'AltGraph' ) {
output.value += '';
} else {
// The keydown values
output.value += e.key;
}
});
增加
关于如何使用按钮发送值的问题:
首先你必须用js为select设置"something"(比如class), 你应该设置一个值属性,稍后再获取它。
<button type="button" class="letter keys" value="1" >!<br>1</button>
然后 select 所有带有循环的按钮并在单击它们时添加一个事件。
最后只需要元素的 attributes.value 就可以用它做你想做的事了。
这里有一个例子:
var buttons = document.querySelectorAll('.letter');
for( let button of buttons ){
button.addEventListener('click',function(e){
console.log(button.attributes.value);
})
}
这对你有用,但我建议你阅读更多关于 JS 的基础知识,以便在此之前管理你想做的所有事情,因为这只是开始。
希望对你有帮助。