javascript - 多次运行 jQuery 的函数

标签 javascript jquery jquery-mobile

下面是附加到 keyup 事件的函数,该函数在第一个 keyup 上正常工作,但在每个后续 keyup 上它多次运行该函数。例如,在第一个 keyup 事件上,函数运行 1 次,在第二个 keyup 事件上,函数运行 2 次,在第三个 keyup 事件上,函数运行 2 次。它运行 3 次,依此类推。

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

我已经阅读了有关此问题的其他帖子,但无法将其应用到我的场景中。有人可以就此提出建议吗?

最佳答案

每次元素获得焦点时,您都​​会重新绑定(bind) keyup 事件。

如果你想这样绑定(bind),你还应该有一个 blur 事件来取消绑定(bind)。不过,实际上,您可以安全地只绑定(bind) keyup 而不必担心 focus。该元素只有在聚焦时才会真正触发keyup

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

关于javascript - 多次运行 jQuery 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22060147/

相关文章:

javascript - 按下/释放时更改按钮的状态

javascript - Javascript中的正则表达式匹配重复的字母表

javascript - 插入 jquery mobile listview 的格式不正确

javascript - ng-repeat 内的 $http 调用

jquery - 如何让函数等待jquery ajax完成

jquery - 事件处理程序不适用于动态内容

javascript - 同时打开模态和callto的链接

jQuery Mobile 自动分隔符格式不正确 - 使用 Hot Towel View

javascript - 在移动网络中保持滚动

javascript - 加入和着色 TR