javascript - 如何在主 "div"内的随机 "div"创建点击事件?

标签 javascript jquery html css

我有一个主要的“Div”,点击它后它被分成 n X n 矩阵。每次点击它里面的随机颜色 div。直到这里都很好,现在我想在那个随机的彩色 div 上创建一个点击功能,该 div 当前位于整个主要“div”内的任何位置..

$(window).load(function() {
  var no = 1,
    $m = $(".main_div"),
    size = 200;

  $m.live('click', function() {
    no++;
    var n = no * no,
      i, _size;
    $m.empty();
    for (i = 0; i < n; i++)
      $m.append($('<div title=' + i + '/>'));
    _size = size / no;
    $m.find('> div').css({
      width: _size,
      height: _size
    });

    var colors = ["#FFFFFF", "#CC00CC", "#CC6699", "#0099CC", "#FF99FF"];
    var rand = Math.floor(Math.random() * colors.length),
      randomTotalbox = Math.floor(Math.random() * $('.main_div div').length);
    $m.find("div:eq(" + randomTotalbox + ")").css("background-color", colors[rand]);
    var rand = Math.floor(Math.random() * colors.length);
  });
});
  .main_div {
    width: 200px;
    height: 200px;
    background-color: #9F0;
  }
  .main_div > div {
    float: left;
    box-shadow: 0 0 1px #000;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main_div" id="demo">

</div>

这是一个 fiddle ... Code

最佳答案

所以你是说每当你点击(例如在一个按钮上)时,可点击的 div 就会被添加到 DOM

这意味着那些 div 一开始不存在,所以你可以使用

Babak Naffas 答案以及.delegate 方法

例子

$('body').delegate('.main_div > div','click',function(){
  // here goes your instructions

});

更多详情您可以查看: jQuery: difference between .click() AND .on("click")

关于javascript - 如何在主 "div"内的随机 "div"创建点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491809/

相关文章:

javascript - 根据多个标记 Lng、Lat 设置 map 范围

javascript - 从数据库获取数据时html中的多个选择选项

javascript - Knockout.js 动态链接点击不通过

jquery - 使用 jQuery 进行网络聊天

javascript - 为什么 "this"在通过逻辑运算符调用的函数中未定义?

javascript - 好的示例/模板/最佳实践 API 文档

php - 与原始元素相比,HTML 元素在我的网站上显示得更大?

javascript - 如何突出显示与正则表达式匹配的部分

javascript 选项选择 IE6 与 FF2

html - 我在 CSS 中的媒体查询没有切换容器