2013-01-08 28 views
1

我想提出一个屏幕键盘,即时通讯卡制作与大写锁键码和移位key..anyone?纯JavaScript,没有jquery的

继承人我的代码:?

function number_write(x){ 
    var text_box = document.getElementById("number"); 
    if(x=='tab') 
     text_box.value=text_box.value+'\t'; 
    else if(x=='enter') 
     text_box.value=text_box.value+'\n'; 
    else if(x=='backspace') 
     text_box.value=text_box.value.slice(0,-1); 
    else text_box.value = text_box.value+x; 
} 

可以请你添加代码,大写锁定和转移感谢...

+4

我们应该做你的研究为你 ? –

+0

需要移位和大写锁定键的屏幕键盘?通常它会有一个按钮将UI切换为大写/特殊字符,而不是依赖于键盘。 – MrCode

+0

他们必须在一些事件 –

回答

1

你是正在寻找(假设X是关键事件)

x.shiftKey 
x.ctrlKey 
x.altKey 

他们是非常googleable

http://javascript.about.com/od/byexample/a/events-keymodifier-example.htm

if (x.which==bla && x.shiftKey)... 
+0

请原谅我只是一个初学者...笏你的意思?如果我按大写锁,转换也uppercase..and与shift键转换则包括symbols..only CapsLock键和左/右shift键只..谢谢 –

0
+0

谢谢,但即时消息不寻找检测...我想他们的职能.. –

+0

@ChristianBusaco兄弟你说什么意思是“我想他们的职能”? –

+0

@GabrielGartz他不想阅读链接。他想要在这里输入功能,这就是所谓的'他们的职能':D – Sahal

0

您正在寻找一个String.prototype.toUpperCase()

例子:

var x = 's'; 
x.toUpperCase(); 
console.log(x); // 'S' 

这就是大写锁定/移位 “功能”。

但你是重新发明轮子。

看起来您正在检查要传递的函数,该函数将更改输入元素中的值。

所以,如果你想做一个“键盘”会更容易,如果你使用JavaScript的事件触发器。

检查此post about stimulation keys

现在您可以将您的“虚拟键盘”映射到触发其他元素中的按键模拟。

对于CapsLock,您需要在您的事件中使用强制参数。

这里是reference for keydown event。所以,你可以构建自己的,使用与否,移位/ CapsLock键/ ALT ...

最后,你可以搜索谷歌的JavaScript虚拟键盘,你会发现这样的项目:https://github.com/cantrell/VirtualKeyboard