Здравствуйте!
Подскажите, пожалуйста, почему обработчик .on не работает на вновь созданный элемент стандартными методами JavaScript?
Но если элемент добавить с помощью $("#main").append("<div id='test2'>test2</div>");, то работает.
Получается, что нельзя совмещать: либо писать на jQuery, либо на JavaScript?
$('#main').on('click', '#test1', function(e) {
var div = document.createElement("div");
div.id = name;
div.innerHTML = 'test2';
document.getElementById("main").appendChild(div);
//$("#main").append("<div id='test2'>test2</div>"); - работает
});
$('#main').on('click', '#test2', function(e) {
console.log('test2'); //не работает
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main">
<div id="test1">test1</div>
</div>
Задайте ему div.id = 'test2' для того, чтобы он работал.
$('#main').on('click', '#test1', function(e) {
var div = document.createElement("div");
div.id = 'test2';
div.innerHTML = 'test2';
document.getElementById("main").appendChild(div);
//$("#main").append("<div id='test2'>test2</div>"); - работает
});
$('#main').on('click', '#test2', function(e) {
console.log('test2'); //работает
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main">
<div id="test1">test1</div>
</div>
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости