У меня есть простой код. Каждый раз, когда я нажимаю кнопку «Пуск», три новых кнопки с уникальными идентификаторами и значениями создаются и добавляются к моему div.Несколько обработчиков, прикрепленных к одному и тому же элементу HTML
Для каждой новой кнопки, если я нажимаю на нее, она предупреждает о значении внутри кнопки. Моя проблема заключается в том, что если я нажимаю кнопку «Пуск» 4 раза, поэтому создается 12 новых кнопок (это нормально), но всякий раз, когда я нажимаю на новую созданную кнопку, она предупреждает несколько раз (не один раз, как я ожидаю) ,
Я думаю, проблема в том, что каждый раз, когда я нажимаю кнопку «Пуск», к кнопке прикрепляется новый обработчик. Как избежать этой проблемы. Я googled для jQuery off(), но это не помогло. Любая помощь очень ценится.
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
var count =1;
$(document).ready(function() {
$('#start').on('click', function(e) {
var i;
for (i=0;i< 3;i++)
{
$('<button id = "Button' + count + '" value = "' + count + '">Button' + count + '</button>').appendTo('#mydiv');
count++;
}
for(i=1;i<= count;i++)
{
$(document).on("click", '#Button' + i , function(){
alert ( $(this).attr('value') );
});
}
});
});
</script>
</head>
<body>
<h1>Test dynamically created button</h1>
<div id = "mydiv">
<button id ="start">START</button>
</div>
</body>
</html>