【问题标题】:the .click event not working ONLY for the last button (events defined in a for-loop).click 事件仅对最后一个按钮不起作用(在 for 循环中定义的事件)
【发布时间】:2013-10-03 20:41:11
【问题描述】:

我做了一个函数来设置 .click 传递给它的按钮数。

当另一个Jquery检测到页面上的按钮数量时调用该函数

...
var n = $(".button").length + 1;
...
set_navig(n);
...

function set_navig(n){
    for(i=1 ; i<n ; i++){
        var btn = "#pb" + i;
        $(document).ready(function(){
            $(btn).click(function(){
                alert('Working!');
            });
        });
    }
}

我尝试在页面上删除或添加按钮 - 正确的 (n) 被传递给函数,但总是只有最后一个根本不起作用。

有什么想法吗?


谢谢大家,这里有这么多好东西。当我开始学习 Jquery 知识时,你是它的主要来源。

【问题讨论】:

    标签: for-loop jquery-click-event


    【解决方案1】:

    好吧,我最初认为你应该使用 i

    除了样式之外,我没有看到代码的特定错误,因此您可能没有获得您想的那么多的 .button 对象,或者您可能在最后一个 ID 中有错字。您应该粘贴 html 代码示例,或者使用 alert() 自行调试以查看传递的值。

    为了将来参考,许多语言中的常见循环是:for(i=0;i&lt;n;i++){}for(i=1;i&lt;=n;i++){} 我会说将长度 + 1 传递给您的函数是非常糟糕的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多