Привет, ребята, я новичок в jQuery, и я не смог добиться успеха, чтобы решить эту проблему. Я пытаюсь сгенерировать некоторые divs со следующим кодом, и я хочу сделать их кликабельными, поэтому, когда кто-то нажимает на них, фон становится красным.Jquery нажмите на сгенерированные divs с тем же классом
Вот JQuery код, который генерирует DIV
function drawCanvas(){
var divHeight = 4;
var counter = 0;
for (var j =0; j <6; j++){
for(var i = 0; i <= 3 ; i++){
var left = j*105;
var top = i *105;
$("#area").append("<div class='tile' style='height:100px; width:100px; position:absolute; top:"+top+"px; left:"+left+"px; border:1px solid black; '></div> ");
}
}
}
$("#canvasSubmit").click(function(){
var radioValue = $("input[name='optionsRadios']:checked").val();
if(radioValue == 1){
$("#area").width(600);
$("#area").height(400);
drawCanvas();
}
else if(radioValue == 2){
$("#area").width(600);
$("#area").height(600);
}
if(radioValue == 3){
$("#area").width(900);
$("#area").height(600);
}
});
и вот что я пытался до сих пор не имели успеха
$(this).find(".tile").click(function(i){
$(this).addClass("red");
});
и здесь с помощью on()
, но он также не работает
$(".tile").on("click", function(){
$(this).addClass("red");
});
Не могли бы вы помочь мне ???
Ваш пример использует '' drawCanvas() '' '' функции на неправильном контексте. Плитки создадут в форме submit. Ваша скрипка рисует холст при загрузке. Для динамически создаваемых объектов вы должны использовать делегирование событий. – RWAM
Был задан вопрос о том, как сделать красный фон div, добавив класс, когда был нажат div. Как вызывается функция drawCanvas(), это не имеет значения. –