草庐IT

按键码

全部标签

Javascript - 在每次按键时从文本框中获取值

我有一个文本框,每次输入内容时我都想使用其中的数据;逐个字母。实际情况是,当输入一个值时,Javascript会在该值实际放入文本框之前执行,这意味着它总是滞后一个字符。$(document).ready(function(){$('#test').keypress(function(){varvalue=document.getElementById('test').value;alert(value);});})这是发生了什么:inputalertw""e"w"a"we"l"wea"t"weal"h"wealt"而我希望它动态地发生;即,当我输入“w”时,我希望警报在之后立即包含“

javascript - 在 javascript 中模拟 <enter> 按键以触发表单提交

我找到了十几篇关于如何执行此操作的不同SO文章,但没有一篇起作用。我正在尝试编写一些测试,并且我想测试当我在input中按enter时,表单确实会回发。但是,我无法用它来模拟这一点。无论我选择哪种方法,keypress事件都会被触发——事件监听器会看到它——但表单不会被提交。jsFiddlelink:HTMLJavascript$(function(){var$input=$("#myinput");$input.on("keypress",function(evt){$("#output").append("Typed:"+evt.keyCode+",buttheformdidn't

javascript - 如何处理非英语按键

当我将键盘布局切换为希伯来语并按下一个字符时,它会按原样接收到kepress事件中。例如,点击Д(v键),然后e.which就是1492。但是,当我进行组合时,键是英文键。所以对于alt+‹e.which是86。所以事件看起来像alt+v如果我想创建一个接受组合键和回调并注册回调但还显示回调文档的函数,这会很痛苦,因为如果我注册alt+‹,那么当我按下组合,它看起来像alt+v,但它与注册的组合不匹配。但是如果我注册alt+v,那么文档就会很尴尬。所以我的问题归结为以下情况之一是否可能:知道实际按下了哪个键(意思是,知道‹与alt而不是v一起按下)将希伯来文字符(或任何非英语字符)映射

javascript - 按住 'ctrl+enter' 会为按键事件提供与直接 'enter' 不同的键码 - 但仅限于 Windows

我有以下Javascript:$(function(){$("#foo").keypress(function(event){if(event.keyCode==13){console.log(event.ctrlKey?"Ctrl+Enter(13)":"Enter(13)");}elseif(event.keyCode==10){console.log(event.ctrlKey?"Ctrl+Enter(10)":"Enter(10)");}});});本例中的Foo是一个输入框。在Windows下,并且仅限于Windows-按住CTRL修饰符可将keyCode从13更改为10。因

javascript - 在 Reactjs 中测试窗口按键事件

我正在编写的组件需要根据是否按下ctrl来更改其行为。我使用了window.onkeydown事件,但是ReactTestUtils中的Simulate不允许我针对window发送事件。我也尝试过window.dispatchEvent(newKeyboardEvent('keydown',{keyCode:17}));但mocha/node无法识别KeyboardEvent。有没有办法使用ReactTestUtils测试window.onkeydown?如果没有,有没有更好的方法在节点的摩卡中做到这一点?下面是一些代码来说明这个问题:describe('OnKeydown',()=>

javascript - 将按键事件添加到 chrome 扩展中的多功能框

是否可以在chrome中监听按键事件(keyup、keydown、keypress)omnibox?到目前为止我刚刚发现:chrome.omnibox.onInputStarted.addListener(function(){...});chrome.omnibox.onInputChanged.addListener(function(stringtext,functionsuggest){...});chrome.omnibox.onInputEntered.addListener(function(stringtext){...});chrome.omnibox.onInput

javascript - jquery 两次触发按键事件

我正在开发视频播放器,我想通过键盘控制一些基本的视频操作,例如播放、暂停、搜索。所以这是我用来获取键盘事件的代码。$("#video_container_div").on("keypress",function(e){e.preventDefault();e.stopPropagation();switch(e.which){case32:{//spaceconsole.info("Iaminkeyboardcontrols");$("#playpausebtn").click();break;}default:return;}});$("#fullscreenbtn").click(

javascript - javascript中特殊键(箭头,...)的跨浏览器按键

我正在构建终端的浏览器界面。我需要同时捕获字符(字母数字、点、斜杠...)和非字符按键(箭头、F1-F12...)。此外,如果用户按住某个键,重复按键会很好(应重复调用该函数,直到释放键)。空格键,字符,...也是如此我希望它尽可能跨浏览器(jQuerykeypress在该帐户上失败)。我也尝试过使用forkofjquery.hotkeys.js,但如果我理解正确的话,我无法在一个函数中同时捕获特殊键和字符键(应该对前者使用keydown,对后者使用keydown)。是否有一个JS库可以让我同时捕获字符键和特殊键?我希望我没有漏掉一些明显的东西。:)更新澄清一下:我正在寻找可以对我隐藏

javascript - 如何避免 jQuery 的按键延迟?

目标:当用户在文本框中键入字符时,显示一个按钮。当用户使用退格键清除文本框但多按住该键几秒钟时,立即隐藏该按钮。问题:如果用户键入单个字符,然后使用退格键将其删除(通过多按住退格键几秒钟),则在隐藏按钮之前会有延迟。只有当用户只键入一个字符然后按住退格键不松手时才会发生这种情况。相反,如果用户键入多个字符,然后按住退格键直到文本框为空,则隐藏按钮不会有延迟。pushme$('#tbox').on('keydownkeypresskeyup',function(){if($('#tbox').val()!==''){$('#btn').css({'display':'block'});}

javascript - 如何使用 jQuery 触发 Ctrl+C 按键事件?

我想模拟Ctrl+C从页面复制文本。我首先尝试了这个:$('#codetext').click(function(){$("#codetext").trigger({type:'keydown',which:99});}HTML:我也尝试过使用$(this)而不是选择器,但是输入元素也有焦点,所以它没有运行。 最佳答案 查看ZeroClipboard...我认为它有效,但我还没有测试过。 关于javascript-如何使用jQuery触发Ctrl+C按键事件?,我们在StackOverf