Tag: onkeyup

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有关; […]

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也不起作用)。

TinyMCE – 添加事件监听器问题

我一直在理解如何为我的tinymce编辑器设置事件处理程序。 这篇文章可能会很长,所以我很抱歉。 我正在阅读这篇文章 ,这正是我想要做的: 我可能会以一种令我困惑的方式实例化我的TinyMCE编辑器实例,从而扩展它的function。 在我的网站上,我主要让我的编辑做最简单,最简单的工作。 现在我在一个页面上,我想反映关键变化,以显示在 (类似于SOF正在做的事情) 这是我在大多数页面中通常拥有的内容: $(document).ready(function(){ $(‘textarea[tinymce]’).each(function(){ var tinymceopts = $(this).attr(‘tinymce’); $(this).tinymce(window[tinymceopts]); }); // my failed attempt to add an event $(“.mceContentBody”).on(‘keyup’,function(){ var htmltxt = $(this).val(); $(“#displayHtml”).html(htmltxt); }); }); 你会在我的textarea看到tinymce=”tinymce_basic” 。 我通过这种方式全球化地调用了tinymce主题和插件。 对我来说也很棒。 在我的tinymce_configs.js文件中,这是我定义的内容: // JavaScript Document var tinymce_basic = { script_url : ‘/tinymce/tiny_mce.js’,// Location of TinyMCE script // General options […]

防止“向上箭头”键重置文本框中的光标位置

我最近在我支持的网络应用程序中添加了一些预测文本输入字段。 什么大不了吧? 不是真的,好像你的网络应用程序不这样做 – 你已经落后于时代,你的最终用户正在抱怨。 (至少这是它在这里的方式)。 所以,我的问题与“向上”箭头键有关。 预测文本框有一个onkeyup监听器。 处理程序将按键笔划分离,并根据用户输入的字符执行某些操作。 向上箭头键允许用户在我创建的加载了“建议”的div中导航。 我有几个变量跟踪索引等…基本上,当用户点击向上箭头时,我会将div的id更改为具有与之关联的css的id,这将使div看起来好像被选中一样。 此外,我将获取该div中的值并将其分配给用户可以键入的文本框。 问题是审美问题。 与我正在学习的所有文本框一样,向上箭头键将重置光标位置。 这是在我将新值写入文本字段之前发生的。 因此,在每个向上箭头笔划上,用户在文本框中看到一个跳跃光标(它将跳转到开头,并立即显示在结尾处)。 这是代码 – if (event.keyCode === 38 && currentUserInput.length > 0) { // user has toggled out of the text input field, save their typing thus far if (currentToggledIndex == -1) { currentToggledIndex = autoFillKeywordsList.length-1; savedKeywordUserInput = currentUserInput; } else […]

我可以延迟jquery的keyup事件吗?

我正在使用rottentomatoes电影API和twitter的typeahead插件使用bootstrap 2.0。 我已经能够整合API,但我遇到的问题是在每个keyup事件之后调用API。 这一切都很好,但是我宁愿在一个小暂停之后拨打电话,让用户先输入几个字符。 以下是我在keyup事件后调用API的当前代码: var autocomplete = $(‘#searchinput’).typeahead() .on(‘keyup’, function(ev){ ev.stopPropagation(); ev.preventDefault(); //filter out up/down, tab, enter, and escape keys if( $.inArray(ev.keyCode,[40,38,9,13,27]) === -1 ){ var self = $(this); //set typeahead source to empty self.data(‘typeahead’).source = []; //active used so we aren’t triggering duplicate keyup events if( !self.data(‘active’) && self.val().length > 0){ self.data(‘active’, true); […]

select元素中的Trigger Change事件和keyup事件

我有一些代码应该在select元素更改时运行。我用这种方式使用jquery: $(“#myselect”).change(function() { ……. }); 但是当用户使用关键字箭头更改选择时,我希望这些代码也运行。 我发现为此目的的事件是’keyup’。 所以将是: $(“#myselect”).keyup(function() { ……. }); 我怎样才能将这两个事件结合起来?

试图为jQuery AJAX请求添加延迟

我试图延迟一个AJAX请求,以便在输入单元的最后一个键盘后2-3秒发送它。 到目前为止,我已设法延迟请求,但在2-3秒后,我收到一个请求发送给该字段中的每个密钥… 如何让jQuery取消第一个并发送最后一个keyup? 这是迄今为止的代码: $(‘#lastname’).focus(function(){ $(‘.terms :input’).val(“”); //clears other search fields }).keyup(function(){ caps(this); //another function that capitalizes the field $type = $(this).attr(“id”); // just passing the type of desired search to the php file setTimeout(function(){ // setting the delay for each keypress ajaxSearchRequest($type); //runs the ajax request }, 1000); }); 上面的代码等待1秒,然后根据按键发送4-5个AJAX请求。 我只想在最后一个keyup后发送一个 我在StackOverflow中发现了一些使用Javascript的类似解决方案,但由于我对编程知之甚少,我无法将它们实现到我的项目中。 [已解决]最终工作代码,感谢@ Dr.Molle: […]

当用户在jquery中按Enter键时,在文本框中添加

我想在用户点击回车按钮时将 (换行符)添加到文本框中。 如何在jquery onkeyup事件中实现它。 可以向我展示示例或实现它的任何好网站。 谢谢

jquery将keyup绑定到firefox中的body

我在jquery中绑定keyup函数到body,除了firefox之外,它在每个浏览器中都有效 代码: – $(‘body’).bind(‘keyup’, function(e) { //alert ( e.which ); alert(‘testing’); }); 我该怎么做firefox。 它根本没有响应 谢谢