簡體   English   中英

純Javascript,無jquery

[英]Pure Javascript, no jquery

我在制作屏幕鍵盤,即時通訊卡在了Capslock鍵和Shift鍵的代碼中。

這是我的代碼:

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;
}

您能為大寫鎖定和轉換添加代碼嗎?謝謝...

您在尋找這個嗎(假設x是關鍵事件)

x.shiftKey
x.ctrlKey
x.altKey

他們很谷歌

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

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

您正在搜索String.prototype.toUpperCase()

例:

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

那就是CapsLock / Shift的“功能”。

但是,您正在重新發明輪子。

看起來您正在檢查元素以傳遞要更改輸入元素中值的函數。

因此,如果您要使用“鍵盤”,那么使用Java中的事件觸發器將更加容易。

查看有關刺激鍵的信息

現在,您只需映射“虛擬鍵盤”即可觸發其他元素中的按鍵模擬。

對於CapsLock,您將需要在事件中使用force it參數。

這是keydown事件參考 因此,無論是否使用,您都可以構造自己的shift / CapsLock / Alt ...

最后,您可以在Google上搜索Javascript虛擬鍵盤,您可能會找到類似這樣的項目: https : //github.com/cantrell/VirtualKeyboard

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM