I only want to have the click add one count, not repeated additions to the content

StackOverflow https://stackoverflow.com/questions/22162725

  •  19-10-2022
  •  | 
  •  

Pregunta

In class we are learning JavaScript, and we have to find out how to stop the button click from repeatedly adding the count with .insertbefore I'm stumped as to why it continually inserts the count.

      function clicked() {
            console.log("Clicked!");
            var count = "Node Count: "+countChildren(document.getElementById("content"));
            console.log(count);
      try {
            var span = document.createElement("span");
            span.innerHTML = count;
            document.getElementsByTagName("body")[0].insertBefore(span, document.getElementById("content"));
      } catch(ex) {
            console.log("error "+ex)
           }
      }

No hay solución correcta

Otros consejos

You need to check if the node is already added.

 var count = ...
 if ( count !== 0 ) {
      return;
 }

 try {
     ...
 }
 catch(ex) {
     ...
 }

Modify your button HTML like this

<input type ="button" onclick="clicked(); this.onclick=null;"/>

so when once click function is executed, this will stop further clicking actions

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top