标签: keycode

&符的事件键码?

我试图找到&符号和下划线的键码.我不应该允许我的用户允许输入&符号和下划线.我看了一个列表,它提到55作为7&ersand的键码,另一个列表说55是7的键码.所以如果我的用户点击键码55时返回false,我禁止用户使用7,这不是要求.如何找到&符号和下划线的密钥代码?

我只是尝试了55,但它只是给了我警报7而不是&符号!

function noenter(e)
{
    evt = e || window.event;
    var keyPressed = evt.which || evt.keyCode;

    if(keyPressed==13)
    {
        return false;
    }
    else if(evt.shiftKey && keyPressed===55)
//  else if(keyPressed==59 || keyPressed==38 || keyPressed==58 || keyPressed==95)
    {
        alert("no special characters");
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript key keycode

5
推荐指数
1
解决办法
6550
查看次数

键码13和键码10不工作

事件keypress13和10不工作在iPhone Safari,android firefox但使用Android默认浏览器.

我有一个jsp页面,其中有一个表单,该表单以数字作为输入,并通过将这些数字除以此输入来更改同一页面中其他div元素的值.

我正在使用keypressjQuery的功能,并使用键码10和13进行测试.它适用于所有桌面浏览器,但GO按钮不会触发智能手机上的safari和firefox.请告诉我如何解决这个问题?

这是我使用的部分代码:

$('.number').keypress(function(e) {
    if(e.keyCode == 10 || e.keyCode == 13 ) {

        $('#1').html((textreplace/input).toFixed(0)+'g');
        $('#2').html((textreplace2/input).toFixed(0)+'%');
        $('#3').html((textreplace3/input).toFixed(0)+'g');
        ...
        ..

    }
}
Run Code Online (Sandbox Code Playgroud)

".number"是输入表单中使用的类名称,其类型为"text".所以,基本上我根本不使用提交.

javascript jquery keycode keypress submit

5
推荐指数
1
解决办法
6535
查看次数

来自 VK_Code 的 ASCII 字符

我有一个小的 WIN32 C 应用程序,我在其中使用该KBDLLHOOKSTRUCT结构。此结构包含用于按下键的 VK 代码。

我尝试将其转换为 ASCII 字符。为此,我使用了 Function MapVirtualKey,它运行良好。

唯一的问题是,一个 VK 代码可以保留多个字符。例子:

在我的键盘(瑞士-德语)上存在 key-char .。如果我按Shift+.然后它会创建一个:. VK 代码是相同的。那没问题,我还可以检查是否Shift被按下或被Caps Lock激活。

我唯一的问题是:我怎样才能得到字符 ':'?我需要这样的功能:

GetKeyChar(vkCode, shift)

我需要这个来获得键盘的“正常”和“移位”值。当然,我可以对此进行硬编码,但我不喜欢以这种方式进行。

c winapi keycode shift

5
推荐指数
1
解决办法
8016
查看次数

如何将Windows本机虚拟密钥代码转换为Qt :: Key?

我正在开发一个与Windows本机程序通信的程序,因此它需要actucal原生虚拟键代码.如何从Windows本机虚拟密钥代码转换为Qt :: Key?

qt keycode qkeyevent

5
推荐指数
2
解决办法
2235
查看次数

它们真的是虚拟代码吗?

与C++/C相比,某些键(如shift,[,],Del等)的虚拟键代码在java中显示为不同的值.例如 :

Key     Java       C / C++
Shift   16         160
[       91         219
]       93         221
\       92         220
Del     127        46
Window  524        91
Run Code Online (Sandbox Code Playgroud)

这是什么原因?这些代码是虚拟代码还是不同类型?对于包括字母,数字,功能键(F1-F12),退格键,`等的键是相同的.

我可能误解了一个概念,在这种情况下请澄清一下.

签入C/C++

KBDLLHOOKSTRUCT * kbhook = (KBDLLHOOKSTRUCT *) lParam;
printf("%u\n",kbhook->vkCode);
Run Code Online (Sandbox Code Playgroud)

用Java检查

private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {                                       
    int code = evt.getKeyCode();
    // code isEqualTo KeyEvent.VK_DELETE : NOTE

}
Run Code Online (Sandbox Code Playgroud)

参考:KeyEvent类

c c++ java keycode

5
推荐指数
1
解决办法
1531
查看次数

在Javascript事件中捕获特殊键和键案例

我一直在使用Javascript密钥事件(keyup,keydown,keypress)做一些工作,并得出结论,在尝试确定用户按下了哪些密钥时,每个都有其优点和缺点.

通过使用jQuery提供的event.which,似乎onkeypress将提供区分大小写的字符代码.即AZ为65-90,az为97-122.但是,方向等特殊键不会触发onkeypress.但它们会触发keyup/*keydown*,但这些不会提供区分大小写的代码.

是否存在"两全其美"的解决方案,既可以提供区分大小写检测,又可以提供特殊的密钥检测,而不需要手动同时监控多个事件?

javascript jquery keycode

5
推荐指数
1
解决办法
317
查看次数

iPhone为(hash和3)和(Asterisk和8)返回相同的keydown事件

我正在进行电话验证,并要求使用电话号码自动格式化输入,并且只允许添加数字字符.但是当我尝试使用keydown和keypress限制输入时,IPhone允许我输入#和*.当我检查keydown值时,它们分别与3和8相同(键码51和56).这在Android浏览器中完美运行但在iPhone中失败.

任何人都面临类似的问

$(formSelector + ' input[name^="phone"]').on('keydown keypress',function (e) {         
    // Allow: backspace, delete, tab, escape, and enter  
    if ( e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 27 || e.keyCode == 13 ||   
        // Allow: Ctrl+A  
        (e.keyCode == 65 && e.ctrlKey === true) ||   
        // Allow: home, end, left, right  
        (e.keyCode >= 35 && e.keyCode <= 39)
    ) {                
        // let it happen, don't do anything  
        return;  
    } else {  
        // Ensure that it …
Run Code Online (Sandbox Code Playgroud)

javascript iphone events keycode

5
推荐指数
1
解决办法
2378
查看次数

插入四个空格而不是制表符

我按下Tab键时试图插入四个空格.我正在使用以下代码(请参阅参考资料spaces = "\t"),但是当我将其切换到spaces = " "按Tab键时只插入一个空格.我也试过""+""+""+"":

$(function () {
  $('textarea').keydown(function(e) {
    var keyCode = e.keyCode || e.which;

    if (keyCode == 9) {
      e.preventDefault();
      var start = $(this).get(0).selectionStart;
      var end = $(this).get(0).selectionEnd;

      // set textarea value to: text before caret + tab + text after caret
      spaces = "\t"
      $(this).val($(this).val().substring(0, start)
                  + spaces 
                  + $(this).val().substring(end));

      // put caret at right position again
      $(this).get(0).selectionStart =
      $(this).get(0).selectionEnd = start + 1;
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

注意:这是在基于浏览器的textarea/ide中插入空格.

html javascript jquery keycode

5
推荐指数
1
解决办法
949
查看次数

如何防止分号输入html文本输入,但允许冒号?

我想允许输入如1:10,但不是1; 10.但是,:和; 两者都对应keyCode 186,所以使用keyCode来防止; 从输入到我的输入字段的键不起作用.我也研究过使用charCodes,但charCodes没有; 或:值.最后,我查看了ascii表.它们具有分号和冒号值.我有什么方法可以使用ascii表来防止; 输入到我的文本框中的键,但是:允许的键?或者是否有另一种方法可以让我这样做?我还想过连续检测两个键输入,这样我就可以检测到一个shift键输入,但这似乎是一个肮脏的解决方案.

 $("input.form-1").bind({
    keydown: function(e) {
        if(e.which ===186) { //trying to disallow semicolons, which also disallows colons
            return false;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery ascii keycode

5
推荐指数
1
解决办法
1532
查看次数

一些"和弦"不适用于onkeydown(JavaScript)

某些键盘"和弦"(同时按下键的组合)将无法在浏览器中正确注册(Chrome和Firefox测试).例如,使用下面的代码,试试这个:

1)按"e"键(将记录"键69")

2)在按住"e"的同时,按"]"(它将记录"键221")

3)在按住"e"和"]"的同时,按"i"(这不能记录!)

4)但是,如果您放开"i"并按"o",它将成功记录"键79".

document.onkeydown = function(event){
    var key = event.keyCode;          
    console.log("key", key);
};
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这里发生了什么,如果有任何解决方法?对于上下文,我正在开发一个基于QWERTY的音乐应用程序,我希望能够演奏我的所有和弦.

我知道这keyCode是不赞成的,也许是这种行为的原因之一?

这个问题的正确方法是什么?

在这里演示:https://jsfiddle.net/nt0ad2ap/

javascript keycode

5
推荐指数
1
解决办法
69
查看次数

标签 统计

keycode ×10

javascript ×7

jquery ×4

c ×2

html ×2

ascii ×1

c++ ×1

events ×1

iphone ×1

java ×1

key ×1

keypress ×1

qkeyevent ×1

qt ×1

shift ×1

submit ×1

winapi ×1