Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(';div';)。单击函数isn';我没有在所有的分区上工作_Javascript_Jquery_Html_Click_Selector - Fatal编程技术网

Javascript $(';div';)。单击函数isn';我没有在所有的分区上工作

Javascript $(';div';)。单击函数isn';我没有在所有的分区上工作,javascript,jquery,html,click,selector,Javascript,Jquery,Html,Click,Selector,出于某种原因,我的“百万像素”动态生成的div在我点击它们时没有响应,尽管我编写了一个选择所有div的函数。单击时,所有其他div都会响应 function init($input){ for (i=1; i <= 20; i++){ $('body').append('<div class="megaPixel" id="megaPixel_' + $input + '"></div>'); $input = $input + 1; } }; $

出于某种原因,我的“百万像素”动态生成的div在我点击它们时没有响应,尽管我编写了一个选择所有div的函数。单击时,所有其他div都会响应

function init($input){
  for (i=1; i <= 20; i++){
  $('body').append('<div class="megaPixel" id="megaPixel_' + $input + '"></div>');
  $input = $input + 1;
  }
};

$('div').click(function(){
  $('.megaPixel').css('background-color', 'red');
});

init(1);
function init($input){

对于(i=1;i,这是因为您在生成div之前分配了click侦听器

function init($input){
  for (i=1; i <= 20; i++){
  $('body').append('<div class="megaPixel" id="megaPixel_' + $input + '"></div>');
  $input = $input + 1;
 }
 $('div').click(function(){
    $('.megaPixel').css('background-color', 'red');
 });
};

init(1);
function init($input){

对于(i=1;i我想你正在寻找这样的东西

$('div.megaPixel').on('click', function(){
  $(this).css('background-color', 'red');
});

您是否尝试过使用
$(文档)。在(“单击”,“div.megaPixel”,function(){});
上,您也可以使用此选项:

$("body").on("click", "div.megaPixel", function(){
  $(this).css('background-color', 'red');
});

这将在div中查找归类为
megaPixel
的元素。感谢您捕捉到这一点。已修复。与jQuery相关的问题中有一半属于事件委派。投票关闭时过于本地化;OP可以通过调用
init()来修复此问题
在绑定之前。我认为这可能是目前为止最好的建议。无论何时执行init都无关紧要。您正在将您的单击处理程序绑定到body,这样它们就存在于body上。每当您单击页面时,它都会发现它是否适用于单击时可用的元素。干得好。@WillKlein--Haha,这一精确方法的变体这个问题每天被问很多次,所以这是一个简单的建议:)哇,我从昨天开始就一直在努力解决这个问题,几分钟内我得到了4个回答。免费。太棒了。