Во первых, как сказал
smigles, интерактивное содержимое нельзя вставлять друг в друга (ссылку в кнопку, текстовое поле в ссылку, ибо не понятно, что делать когда пользователь будет пытаться взаимодействовать с таким содержимым).
Во вторых, у вас обработчик клика на кнопку изменяет
innerHTML
кнопки добавляя внутрь кнопки текстовое поле. И вот вы кликаете по текстовому полю (срабатывает событие на клика на
input
, а потом происходит всплытие события
click
(гуглите, если не знаете).
Вот:
input_holder.addEventListener('click',(event)=>{
input_holder.innerHTML = `<input type="text" id="inp_m">`;
});
Родительским элементом текстового поля является кнопка, а значит и на ней запускается опять тот же обработчик клика, что и раньше и опять же меняет содержимое внутри кнопки, добавляя туда текстовое поле предварительно удалив предыдущее и конечно же тогда фокус с текстового поля пропадет (ибо, повторюсь, это текстовое поле удалили и заменили на новое). Тут в вашем случае или условием проверять, или отменять всплытие события, или удалять обработчик после срабатывания.