Добавление кнопки, которая удаляет себя и строку, к которой она прикреплена - PullRequest
0 голосов
/ 14 ноября 2018

Я не очень продвинут в JavaScript. Я пытался написать скрипт, который добавляет строку текста вместе с кнопкой, которая удаляет себя и прикрепленную строку текста. Хотя я без проблем справился с текстовой частью, у меня много проблем с кнопкой. Всякий раз, когда я пытаюсь добавить функцию, которая удаляет элементы для кнопки, скрипт продолжает работать, но созданные элементы никогда не появляются (кажется, что кнопка немедленно удаляет себя и текст, что не должно происходить без нажатия).

var numberId=0;
function add(){
        	console.log("add");
            var te = document.getElementById("textInput").value;
            var d=document.createElement("tekst");
            var bu=document.createElement("button");
            var t=document.createTextNode(te);
            d.appendChild(t);
            d.id="a"+numberId;
            document.getElementById("hereGoesResult").appendChild(d);
            d.appendChild(bu);
            function placeholderFunction(){
        		console.log("placeholder");
                deletusTheTextus(d.id);
            }
            but.addEventListener("click",placeholderFunction());
        numberId++;
}
function deletsTheText(a){
        	console.log("delets");
            var elem = document.getElementById(a);
            elem.remove();
}
    <!DOCTYPE html>
    <html>
    <head>
      <meta http-equiv = "Content-type" charset = "utf-8">
      <title > Sample HTML5 File</title>
      <script src="scripts.js">
      </script>
    </head>
    <body>
    		<form>
    			Enter:
    			<input type="text" id="textInput"> <input type="button" value="Add" onclick="add()"><br>
    		</form>
    		<div id="hereGoesResult">
    		</div>
    </body>
    </html>

Извините за ошибки, выкладываю впервые (переменные имеют плохие имена, потому что мне пришлось их быстро редактировать, мои обычные слишком глупы для публикации в stackoverflow)

1 Ответ

0 голосов
/ 14 ноября 2018

Не вызывайте ваш placeholderFunction при попытке зарегистрировать его как обработчик событий. Итак, это:

but.addEventListener("click", placeholderFunction())

должно выглядеть так:

but.addEventListener("click", placeholderFunction);

Далее вы пишете bu для своей переменной кнопки, но пытаетесь подключить и Eventlistener к but. Также убедитесь, что вы звоните deletsTheText внутри placeholderFunction, а не deletusTheTextus; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...