Здравствуйте уважаемые профессионалы JS + jQuery.
Представим гипотетическую ситуацию, есть некий динамически cгенерированный код html.
<div id="reload_it"><br>
<button id="btn">Да будет Ajax</button><br>
<div><br>
Допустим, что этот код символизирует Ajax и все процессы с ним связанные.
$('#btn').click(function(){<br>
var dataBtn = '<button id="btn">Да будет Ajax</button>';<br>
$('#reload_it').empty().append(dataBtn);<br>
// тут btn уже не кликается!<br>
});<br>
В данный момент для ребиндинга я делаю вот так кустарненько.
function btn_rebinder(){<br>
$('#btn'),unbind();<br>
$('#btn').click(function(){<br>
var dataBtn = '<button id="btn">Да будет Ajax</button>';<br>
$('#reload_it').empty().append(dataBtn);<br>
btn_rebinder();<br>
// тут btn кликается<br>
});<br>
}<br>
btn_rebinder();<br>
Я думаю, что это не является академически верным, ибо с ростом элементов сильно возрастает сложность кода и получается множество копированных блоков с этим ребиндом. Единственное что я сделал для одного проекта, это написал небольшой движок ребинда на коленках, который убирает лишние повторения.
Теперь хочется вырасти из пеленок, поэтому вопрос
Как решить данную задачу академически правильно? Если это не возможно, то какие существуют готовые движки, которые закрывают данные проблемы?
Благодарю за внимание
PS: если есть некоторые синтаксические ошибки, то не бейте. Писал плейнтекстом, хотел донести только смысл вопроса «ребиндинга».