首页 >web前端 >js教程 >jquery处理键盘keyup事件的详细介绍

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

黄舟
黄舟原创
2017-06-27 14:17:391701浏览

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事件的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn