2014-02-27 82 views
0

下面是连接到keyup事件的函数,这个函数的作品,因为它应该在第一keyup,但以后每次keyup它多次运行的功能。因此,例如,在第一keyup事件函数运行1次,2号keyup事件函数运行2次,第3 keyup它运行的3倍等。功能运行多次的jQuery

$(document).on('pageinit','#address_page,#edit_address_page', function(){          
     $(".names").focus(function() {                       
     $(this).on('keyup', function() { 
     // Do Something 
}); 

我已阅读关于此问题的其他帖子,但无法将其应用于我的方案。有人可以请告知这一点。

回答

2

你每次元素集中时间重新绑定keyup事件。

如果你要绑定这样,你也应该有一个blur事件来解除绑定。真的,不过,你或许可以放心地只绑定keyup,而不是担心focus。该元素只能实际触发keyupfocused

$(".names").keyup(function() { 
    // do stuff 
}); 
2

的问题是每次输入的重点是新的keyup处理程序中加入这样尝试(不知道的jQuery Mobile的语法和需要pageinit

$(document).on('pageinit', '#address_page, #edit_address_page', function() { 
    $(this).find('.names').on('keyup', function() { 
     // Do Something 
    }); 
}); 
时间