Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入文本框的文本中间插入键盘字符值_Javascript_Jquery_Input_Insert_Keyboard - Fatal编程技术网

Javascript 在输入文本框的文本中间插入键盘字符值

Javascript 在输入文本框的文本中间插入键盘字符值,javascript,jquery,input,insert,keyboard,Javascript,Jquery,Input,Insert,Keyboard,功能: 用户可以通过屏幕上的Javascript键盘将char var输入到输入文本框中 已完成的操作: 我已经创建了javascript键盘。 还创建了输入文本框 和 还创建了方法调用,以便在单击javascript键盘上的键时将字符添加到文本框中 问题: 当我试图在文本中间插入一个字符时,这个问题只会在文本末尾添加,而不是在我点击的地方插入。p> 意思:对于单词TEST,如果我尝试在“E”和“S”之间插入字符“E”,它将显示为TESTE而不是TEEST 我想在这方面寻求帮助,因为我不确定我错

功能:

用户可以通过屏幕上的Javascript键盘将char var输入到输入文本框中

已完成的操作:

我已经创建了javascript键盘。 还创建了输入文本框 和 还创建了方法调用,以便在单击javascript键盘上的键时将字符添加到文本框中

问题:

当我试图在文本中间插入一个字符时,这个问题只会在文本末尾添加,而不是在我点击的地方插入。p> 意思:对于单词TEST,如果我尝试在“E”和“S”之间插入字符“E”,它将显示为TESTE而不是TEEST

我想在这方面寻求帮助,因为我不确定我错过了什么。谢谢

代码:

//键盘输入字段
$(“#名称字段”).focus(函数(){
$write=$(“#名称字段”);
$(“#键盘”).show();
});
函数accept(){
//要重置所有字段:NameField和EmailField重置为空值
$(“#名称字段”).val(“”);
$(“#EmailField”).val(“”);
$(“#第页”).fadeOut({
持续时间:幻灯片教学,
队列:false
});
//键盘脚本
//要在每次加载页面后添加新的单击“事件”之前删除“单击”事件:仅允许在加载页面时运行一次键盘字符事件
$('Vivo'u Print'u Email')。fadeIn({
持续时间:幻灯片教学,
队列:false,
完成:函数(){
$('#键盘li')。关闭('click')。打开('click',函数(){
控制台日志(“单击”);
空闲时间=0;
变量$this=$(this),
character=$this.html();//如果是小写字母,则此变量不会发生任何变化
console.log(字符);
//换档键
if($this.hasClass('left-shift')| |$this.hasClass('right-shift')){
$('.letter').toggleClass('大写');
$('.symbol span').toggle();
shift=(shift==真)?false:真;
capslock=false;
返回false;
}
//帽锁
if($this.hasClass('capslock')){
$('.letter').toggleClass('大写');
capslock=真;
返回false;
}
//删除
if($this.hasClass('delete')){
var html=$write.val();
$write.val(html.substr(0,html.length-1));
返回false;
}
//清楚的
if($this.hasClass('clear')){
var html=$write.val();
$write.val(“”);
返回false;
}
//特殊字符
如果($this.hasClass('symbol'))字符=$('span:visible',$this.html();
if($this.hasClass('space'))字符=“”;
if($this.hasClass('tab'))character=“\t”;
if($this.hasClass('return'))character=“\n”;
//大写字母
if($this.hasClass('uppercase'))character=character.toUpperCase();
//单击键后删除shift。
如果(移位===真){
$('.symbol span').toggle();
if(capslock==false)$('.letter').toggleClass('大写');
移位=假;
}
//添加角色
$write.val($write.val()+字符);
});
}
});
}
/*键盘CSS*/
.键盘{
位置:绝对位置;
保证金:0;
填充:0;
列表样式:无;
}
李健{
字体大小:20px;
浮动:左;
保证金:2;
宽度:65px;
高度:50px;
线高:50px;
文本对齐:居中;
颜色:#000;
背景:#ffffff;
边框:1px实心#000;
-moz边界半径:5px;
列表样式:无;
-webkit边界半径:5px;
}
卡普斯洛克先生,
.选项卡,
.左移{
清除:左;
}
.keyboard.tab,
.键盘.删除{
宽度:165px;
}
.键盘.卡普斯洛克{
宽度:101px;
}
.键盘.返回{
宽度:101px;
}
.键盘.左移{
宽度:165px;
}
.键盘.右移{
宽度:165px;
}
.最后一项{
右边距:0;
}
.大写字母{
文本转换:大写;
}
.键盘.空格{
清除:左;
宽度:685px;
}
.在{
显示:无;
}
.键盘李:悬停{
位置:相对位置;
顶部:1px;
左:1px;
边框颜色:#E5;
光标:指针;
}

*请填写所有字段。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 0
  • q
  • w
  • e
  • r
  • t
  • y
  • u
  • i
  • o
  • p
  • a
  • s
  • d
  • f
  • g
  • h
  • j
  • k
  • l
  • z
  • x
  • c
  • v
  • b
  • n
  • m
  •  // Add the character
            $write.val($write.val() + character);