Tag: keypress

JavaScript / jQuery:用于键盘导航的键盘(event.which不起作用)

处理关键[Up | Down | Press]事件时,我应该使用.which还是.keyCode? 我可以使用一些示例代码来处理jQuery中的三个键盘事件吗? 你能不用jQuery做到吗? 我希望它在每个浏览器中可靠地工作。 更新 奇怪的是,jQuery的event.which规范化不适用于我的handleKey Press (事件)处理程序: // Add which for key events if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) { event.which = event.charCode || event.keyCode; } 我在handleKey Press中的这个规范化之前和之后得到了这个(它没有将event.which设置为event.keyCode中的值): event.which = 0 event.charCode = 0 event.keyCode = 40 但是,如果我使用handleKey Down代码,则代码可以正常工作。 我认为它与keypress vs. keydown有关; […]

触发多个按键以激发键盘快捷键jquery

我想创建页面缩放 – 根据jQuery的键盘快捷键。 主要是,当用户点击页面上的某个元素时,我想用+键和Ctrl键-键对触发。 我已经尝试过Way中的这个代码片段来触发jQuery问题中的多个按键和保持事件 ,但它不起作用 – 它不会缩放页面 $(“#zoom”).click(function() { var e = $.Event(“keydown”); e.which = 61; // # key code for + e.ctrlKey = true; $(document).trigger(e); });

Javascript / JQuery如何在按住键时防止函数重复执行?

假设我们有以下JQuery代码: $(document).bind(‘keyup’, function(e) { arrows=((e.which)||(e.keyCode)); switch (arrows){ case 37: executeMyfunction(); break; } }); 如果用户按住左箭头键(37),则重复调用executeMyfunction()。 我怎样才能防止这种情况发生? 我以为keyup只会在key被释放但它无法工作时触发(这就是为什么我使用keyup,keydown也不起作用)。

这个JavaScript代码是否会通过禁用一个键来影响其他按键事件?

我正在使用它来禁用空格键在浏览器中的“滚动”效果。 这会影响其他按键事件吗? window.onkeydown = function(e) { return !(e.keyCode == 32); }; 有人可以解释一下这是做什么的吗? 我不确定这段代码是不是很糟糕,但似乎在我的页面中禁用了其他与按键相关的代码,我想确保这不是原因。 谢谢!

jQuery keypress事件等待0.5秒,用于另一个用户按键

我正在为我的网站开发一个实时搜索,我想用一些简单的jQuery减少一些不必要的请求(当然我有一个后端泛洪控制)。 我的搜索字段有一个keydown-event-listener。 如果val()。length> = 3,则此侦听器currenty仅触发php搜索function的ajax命令。 但现在我想要一个额外的条件。 因此,当长度> = 3时,如果用户正在执行另一次按键,我想等待约0.5秒左右。 如果他这样做,则不应该调用该函数,并且我希望监听器再等待0.5秒并再次等待更多用户输入,依此类推。 我如何实现这样的function?

我可以拦截IE上的控制 – 按键吗?

我正在尝试使用jQuery拦截我的网页上的控件 – 一个按键,如下所示: $(document).keypress(function (event) { if (event.ctrlKey && (event.which == 65 || event.which == 97)) { event.preventDefault(); // … } }); 这适用于Firefox,但在IE7上,我的事件处理程序不会被调用,而且页面上的所有文本都会被选中(就像在没有事件处理程序的Firefox上一样)。 有什么方法可以拦截IE上的控件-A?

如何在按键上更改contenteditable输入字符

我有一个内容可编辑的div,我想在按键事件触发时修改输入字符: $(‘#div’).on(‘keypress’, function (e) { e.preventDefault(); $(e.target).trigger(jQuery.Event(‘keypress’, { which: e.which + 1728 })); }); Hi I am a div 为什么这不起作用?

有一个脚本模拟一个控件,按键序列?

我已经搜索并发现我可以使用jQuery模拟一个按键事件,但是我对jQuery的了解很少,而且我没有得到具体的结果。 所以我有一个Greasemonkey脚本,它在2个标签中管理2个不同的网页。 我想模拟/自动执行Ctrl Shift Tab以自动返回上一个选项卡,这样我就可以在Firefox中更改选项卡。 问题是它不仅是普通的按键,我还需要模拟一个Ctrl和Shift部分。 我已将此添加到我的脚本中: // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 并试过: function testEvents(){ var press = jQuery.Event(“keypress”); press.which = 9; $(“whatever”).trigger(press.ctrlKey + press.shiftKey + press.which); } 没有成功。 我见过的一些链接: 是否可以通过编程方式模拟按键事件? , 模拟jquery和http://forum.jquery.com/topic/simulating-keypress-events

在Chrome和Firefox上捕捉Backspace是不同的

我正在尝试创建一个像应用程序一样的控制台,所以我正在抓住窗口上的所有按键并与它们做相关的事情(不重要)。 问题在于退格。 我有以下代码: $(window).bind(“keypress”,function(e){ var code = e.keyCode || e.which; if ( code == 8) { a = $(“#console”).html(); $(“#console”).html(a.substring(0,a.length-1)); currentCommand = currentCommand.substring(0,currentCommand.length-1); e.preventDefault(); } 但是,在Firefox中, #console内容已删除,但Chrome不会执行上述代码。 我需要一个跨浏览器兼容的解决方案。 我错过了什么? 加成: 如果我使用keydown / keyup而不是keypress,我无法检测到characeter是’A’还是’a’它总是返回’A’。

jQuery .keyPress() – 如何获取触发事件的输入值?

尝试做一些jQueryvalidation(没有插件 – 请不要回答“只需使用validate-js插件”)。 我正在为doc ready上的每个“必填字段”连接一个客户端事件处理程序按键 : $(document).ready(function() { $(‘#myform input.required’).each(function() { $(this).keypress(onRequiredFieldKeyPress); }); }); 哪个正确地在每个按键上触发此事件: function onRequiredFieldKeyPress() { if ($(this).val().trim() == ”) { $(this).next(’em’).html(‘*’).show(); // show req field indicator } else { $(this).next(’em’).html(‘*’).hide(); // hide req field indicator } } 但$(this).val()始终为null / empty。 看起来它传递的是“HTMLInputElement”,这是我所期望的,但它几乎就像我必须将其投射到其他jQuery类型中? 基本上我正在尝试这样做:在我已连接的任何字段的按键事件(都是输入元素)上,调用该函数。 在该函数中,如果该字段的值为”(空),则显示隐藏字段,该字段显示必填字段指示符。 我真的不关心哪个实际元素触发了按键,因为我的逻辑行为将是相同的。 我只需要获得实际价值。 我错过了什么吗?