javascript - 让默认操作先执行

标签 javascript jquery html

html 中有一些元素附加了默认事件。就我而言,我正在使用 <input type="text" id="filter">

我已将按键事件应用于输入,如下所示:

$('#filter').on('keypress', function(){
 console.log($(this).val()); 
});

以下是我按下的内容以及日志给我的内容的示例列表:

按下 ==> 结果记录

  1. 'a'==>''
  2. 'aa'==>'a'
  3. 'aaa'==>'aa'

正如您所看到的,默认事件在我的事件完成后被调用。这意味着在按键时,我的函数在实际更新之前将输入值的当前值写入日志中。

我希望在值更新后获取值,以避免将旧值与转换后的键连接到字符。

有没有办法强制先执行默认操作?如果没有的话也没什么大不了的,我就用第二种方法。只是好奇这是否可能。

最佳答案

该值在按键时更新,因此请使用 keyup 事件

$('#filter').on('keyup', function(){
    console.log($(this).val()); 
});

关于javascript - 让默认操作先执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28693825/

相关文章:

javascript - 如何克隆/复制 DOM 节点的影子 Dom?

javascript - Texturise 文本支持 Firefox , Chrome

javascript - 获取 div 中项目的复选框值

javascript - 关闭标签和打开标签之间的光标位置

javascript - dojo/query style ("border-right", "2px solid #CCC") 不适用于 IE8,但适用于 Chrome

javascript - Webgl FTP错误

javascript:从原始页面中的 window.open 页面打开 URL

javascript - 修复 CSS 3d 立方体旋转中的翻译

javascript - 不包含子元素的 jQuery 选择器

html - 如何将div的内容对齐到底部