欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jquery处理键盘keyup事件的详细介绍

程序员文章站 2022-04-22 18:26:08
...
jquery处理键盘keyup事件
function suggest(baseUrl , data) {
var wordInput = $("#userName");
wordInput.keyup(function(event) {
alert(1);
}//调用这个函数,弹出一个窗口,内有输入框id为userName,
//第一次弹出窗口,在输入框内按一次键,弹出一次alert
//关闭窗口在从新进入,在输入框内按两次键,弹出两次alert
//如此递增 ,为什么啊 ,多谢

}

你是给文本框绑定的keyup,按键两次当然弹两下!你是想要什么效果?通常是要做判断的,在按某个键后执行一个操作

问题描述错了
//第一次弹出窗口,在输入框内按一次键,弹出一次alert
//关闭窗口在从新进入,在输入框内按两一次键,弹出两次alert
//关闭窗口在从新进入,在输入框内按两一次键,弹出三次alert
//如此递增 ,为什么啊 ,多谢

应该是重复绑定的问题,你这个方法是在弹出窗口后触发的吧?是有特殊要求吗?把他改成开始时触发行吗?那样只绑定一次事件应该没问题了

function suggest(baseUrl , data) {
    var wordInput = $("#userName");
    var wordInputOffset = wordInput.offset()

  alert(2);
  wordInput.keyup(function(event) {
     alert(1);
        var myEvent = event || window.event;
                var autoNode = $("#auto");
}}
//alert(2);这个alert很正常,所以应该不是你说的问题

keyup是指按键抬起,你按一下抬起一次,再按又抬起一次,所以就是这样了,这是正常结果。如果这不是你的目的,请把你希望的结果说出来,我们可以给你提供意见。

绑定事件的代码位置问题,你把完整代码贴出来吧,肯定是重复绑定了。或者这样

wordInput.unbind('keyup').keyup(function(event)...

就是先解除以前绑定的事件,然后重新绑定

以上就是jquery处理键盘keyup事件的详细介绍的详细内容,更多请关注其它相关文章!