【问题标题】:Alert only when i click on the element not sequentially仅当我不按顺序单击元素时才发出警报
【发布时间】:2014-03-21 00:33:05
【问题描述】:

当我不按顺序单击“elem”时,如何修改此代码以使用“i”的当前值发出警报。

示例:

先点击alert 1,再点击alert 2,以此类推..

for (var i = 1; i <= 3; i++) {
  (function(i){
    $elem.click(function() { alert(i); });
  })(i);
}

当我运行此代码并单击“elem”时,3 条消息将依次以“i”(1、2、3)的值发出警报,我希望它只会在我单击“时发出警报” elem' 不是按顺序排列的。

【问题讨论】:

  • 您添加了 3 个点击处理程序。当你点击元素时,所有的处理程序都会运行。
  • “当前值”?这就是你现在得到的
  • 哦,好的,谢谢我明白了 :) @Barmar

标签: javascript


【解决方案1】:

应该这样做:

var i = 0;
$('elem').click(function() { i++; alert(i) });

第一次点击返回 1,第二次:2,第三次:3。如果你想让它在点击 3 时重新开始,那么将这个添加到函数中:

i = i == 3 ? 0 : i;

【讨论】:

    猜你喜欢
    • 2016-09-14
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多