Tag: keydown

jQuery – keydown()在div不工作在Firefox

我有以下示例代码,当div处于焦点并按下某个键时,应该popup警告。 这是我所期望的IE 7,但不是在Firefox 3.5.5。 我究竟做错了什么? <html> <head> <title>JS test</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#testdiv").keydown(function(event) { alert("Pressed " + event.keyCode); }); }); </script> <style type="text/css"> #testdiv { width: 50; height: 50; background-color: red; } </style> </head> <body> <div id="testdiv"></div> </body> </html> 编辑 :我只是试图用keydown和keyupreplacekeydown ,那些也不工作。 顺便说一句,我也确保我的“Find as you type”设置被closures,以防万一。

用于命令键的jQuery键码

我已阅读jQuery事件按键:哪个键被按下? 和我怎样才能检查是否按键过程中点击事件与jQuery的? 然而,我的问题是,如果你可以得到所有浏览器相同的关键事件? 目前我知道Firefox提供了命令button(Mac)的代码224,而Chrome和Safari给它的价值91.是最好的方法来简单地检查用户正在使用的浏览器,并根据按键或有办法这样我可以在所有浏览器中获得1个关键代码? 注意我得到的价值与: var code = (evt.keyCode ? evt.keyCode : evt.which); 如果可能的话,我很乐意不要使用插件,因为我只需要知道按下的命令 / ctrl (windows系统)键。

jQuery keypress,keydown,keyup black magic(在Mac上)背后的理论是什么?

我对keypress , keydown和keyup的各种行为感到困惑。 看来我错过了一个重要的文件,一个解释这三个微妙的细节。 有人能帮我弄清楚我需要阅读哪些文件,以便更有效地使用这些事件吗? 如果您需要详细信息,请参阅下文。 @ov:你问我展示一些代码,但是这不是我想要解决的代码中的一个特定问题。 我正试图处理这些事件处理程序的行为,并要求懂得这些事件的人指点我一个很好的文档。 我使用jQuery构build一个input表单并将其插入到我的文档中。 它工作得很好,主要是。 我希望窗体响应键盘,就像我看到的大多数其他input窗体一样: esc键应该忽略与单击取消button相同的窗体,并且由于窗体上有<textarea> , cmd +应input与点击确定button相同。 这似乎很简单,使用按键事件。 问题是,Chrome不会调用我的按键处理程序的ESC键或cmd + input 。 它为Ctrl + Enter和选项 + input和字母数字,而不是cmd + input火。 所以我会用键盘代替。 我得到了esc的 keyup , cmd的 keyup ,还有enter的 keyup ,非常棒。 但是当我按住cmd的时候,我没有得到input键的keyup 。 第三次的魅力,你可能认为keydown似乎工作,但与keydown ,你会得到重复的钥匙。 我知道,你所要做的就是在你第一次被调用的时候解除绑定,但是三种不同的事件typesperformance得如此不同。 为什么是这样? 那里有一个明显的文件,我显然没有阅读?

上,下,左,右箭头键不会触发KeyDown事件

我正在build立一个应用程序,所有的关键input必须由Windows本身处理。 我设置tabstop为false为每个控制女巫可以抓住焦点除了面板(但我不知道它是否有效果)。 我将KeyPreview设置为true,并处理此窗体上的KeyDown事件。 我的问题是,有时箭头键不响应了: 当我只按下箭头键时,keydown事件不会被触发。 如果我用控制修饰符按下箭头键,keydown事件被触发。 你有一个想法,为什么我的箭头键突然停止射击事件?

如何解码从jQuery的keydown()的事件处理程序按下的字符

我需要从jQuery的keydown函数调用的处理程序中找出哪个字符被input到文本字段中。 key.which只给我键码,但我需要找出哪个ASCII字符key代表。 我该怎么做呢?

改变按键

在input框或contenteditable =真正div,如何修改字母“a”的按键返回字母“b”的键击? 也就是说,每次在div中input字母“a”时,输出实际上是字母“b”。 我并不担心在IE中可以使用的解决scheme – 只能在Safari,Chrome和FF上运行。 在Chrome中,我可以看到按键事件具有属性“charCode”,“keyCode”和“which”,所有这些都被分配了按键事件编号。 如果我在一个按键上触发一个事件,我可以修改这些值,但我不知道要返回什么,以便键入的实际键是不同的。 例如: $(window).keypress(function(e){ //$(window) is a jQuery object e.charCode = 102; e.which = 102; e.keyCode = 102; console.log(e); return e; }); 我还可以看到,charCode和keyCode还有一个“originalEvent”属性,它又具有这些属性。 但是,我一直无法修改这些(我尝试了像e.originalEvent.charCode = 102)。

OSX:检测系统级keyDown事件?

我正在为Mac OSX的打字导师应用程序工作,即使应用程序没有焦点,也需要将击键转发给它。 有没有办法通过NSDistributedNotificationCenter让系统向应用程序发送按键? 我傻傻地search了自己,还没有find答案… 编辑: 下面的示例代码 。 感谢@ NSGod指向我正确的方向 – 我最终使用方法addGlobalMonitorForEventsMatchingMask:处理程序:,它的工作很好,添加一个全局事件监视器 。 为了完整性,我的实现如下所示: // register for keys throughout the device… [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event){ NSString *chars = [[event characters] lowercaseString]; unichar character = [chars characterAtIndex:0]; NSLog(@"keydown globally! Which key? This key: %c", character); }]; 对我来说,棘手的部分是使用块,所以我会给一些描述,以防止任何人的帮助: 关于上面的代码的事情是,这是NSEvent上的所有方法调用 。 该块作为参数直接提供给函数。 你可以想象它像一个内联的委托方法。 只是因为这一段时间才沉迷于我,我将在这里一步一步地努力: [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask 这一点是没有问题的。 你正在调用NSEvent的类方法,并告诉它你正在监视哪个事件,在这种情况下NSKeyDownMask。 支持的事件types的掩码列表可以在这里find。 […]

jQuery的:按键,CTRL + C(或一些像这样的组合)

我正在尝试在我制作的网站上创build快捷方式。 我知道我可以这样做: if(e.which == 17) isCtrl=true; if(e.which == 83 && isCtrl == true) { alert('CTRL+S COMBO WAS PRESSED!') //run code for CTRL+S — ie, save! e.preventDefault(); } 但是下面的例子是更简单,更less的代码,但它不是一个组合按键事件: $(document).keypress("c",function() { alert("Just C was pressed.."); }); 所以我想知道如果通过使用第二个例子,我可以这样做: $(document).keypress("ctrl+c",function() { alert("Ctrl+C was pressed!!"); }); 这可能吗? 我试过了,它不起作用,我做错了什么。

Python模拟keydown

search几个小时后,我想知道是否有可能模拟keydown键盘上的按下。 例如,我希望我的程序按住“x”键五秒钟,所以当我在记事本中运行它时,会看起来像这样: xxxxxxxxxxxxx 。 我在网上尝试了不同的代码,到目前为止我能find的最好的东西是: import ctypes import time user32 = ctypes.windll.user32 inputhex = raw_input("Please enter your desired key's code (HEX): ") keycode = int(inputhex, 16) time.sleep(1) #VOID keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo); user32.keybd_event(keycode,0,2,0) #is the code for KEYDOWN time.sleep(5) #user32.keybd_event(keycode,0,0,0) #is the code for KEYDUP[/code] Sendkey模块不能解决我的问题,因为它只允许你发送一个按键,而不是一个保持键按下的事件。 我知道过去使用它,但我真的想知道这是否可能与python和如何。 PS我正在使用Python的窗户