javascript运行时库按钮单击事件

时间:2012-10-06 13:57:57

标签: javascript

有一个库可以从数据库中读取数据。

下面有一些圆圈显示所有数据或记录的数量。

每次圆圈变为黄色,表示活动帖子是什么。

我通过这种方式生成了这种机制:

function drawCircles(activeIndex) {
    var off_html = '<img class="post_circle" src="../themes/dark/images/off.png"/>';
    var on_html = '<img class="post_circle" src="../themes/dark/images/on.png"  />';
    $('#circles').empty();

    for (var i = 1; i <= pcount; i++) {

        if (i != activeIndex) {
            $(off_html).appendTo($('#circles'));
        }
        else {
            $(on_html).appendTo($('#circles'));
        }

    }


}

PCount =所有帖子的数量......

#circles div是一个圆圈在其中的栏。**

当我们打电话

drawCircles(2)

第二个圆圈变为黄色。 现在我想为它做一个点击事件。我想了解哪个圈子被点击了? 我已经尝试了 .live 功能,但我找不到已点击哪个圈...

1 个答案:

答案 0 :(得分:1)

尝试:

$('#circles img.post_circle').on('click', function(e) {
  // e.target is the circle clicked
});

编辑:这是一个更全面的答案:

$(function(){
  var off_html = '<img class="post_circle" src="http://placehold.it/50x50/ff0000"/>';
  var on_html = '<img class="post_circle" src="http://placehold.it/50x50/ffff00"/>';

  var pcount = 5;

  $('#circles').empty();    
  drawCircles(3);

  function drawCircles(activeIndex) {
    for (var i = 1; i <= pcount; i++) {
      if (i != activeIndex) {
        $(off_html).data('index', i).appendTo($('#circles'));
      } else {
        $(on_html).data('index', i).appendTo($('#circles'));
      }
    }
  }

  $('#circles img.post_circle').on('click', function(e) {
    alert($(this).data('index'));
  });
});

这是fiddle