2016-09-19 3 views
0

Ich bin sehr neu in Javascript und versucht, eine anonyme Funktion an einen Ereignis-Listener anzuhängen. Die Funktion besteht darin, dass bei der Mausbewegung über das erste Element eine Nachricht in dem zweiten Element angezeigt wird, abhängig von der Länge des Textes innerhalb des ersten Elements.angehängt Ereignis-Listener funktioniert nicht

Wenn ich jedoch die Maus über das erste Element schwebe, passiert nichts. Da ich neu in JavaScript bin, bin ich mir nicht sicher, was ich falsch gemacht habe.

function checkLength(event, minLength){ 
 
     var el, elementTwo; 
 
     el = event.target; 
 
     elementTwo = el.nextSibling; 
 
     
 
     if(el.value.length < minLength){ 
 
      elementTwo.innerHTML = "not enough"; 
 
     } else { 
 
      elementTwo.innerHTML = "enough"; 
 
     } 
 
    } 
 
    
 
    var elUserName = document.getElementById("one"); 
 
    elUserName.addEventListener("mouseover", function(event){ 
 
     checkLength(event, 5); 
 
    }, false);
<div> 
 
     <div id="one">Bob</div> 
 
     <div id="two"></div> 
 
    </div>

Antwort

2

Um die text des Elements Sie textContent verwenden zugreifen. value ist für Eingänge.

Außerdem müssen Sie das nächste Element Geschwister auswählen, nicht nur den nächsten Geschwisterknoten.

function checkLength(event, minLength){ 
 
     var el, elementTwo; 
 
     el = event.target; 
 
     elementTwo = el.nextElementSibling; 
 
     
 
     if(el.textContent.length < minLength){ 
 
      elementTwo.innerHTML = "not enough"; 
 
     } else { 
 
      elementTwo.innerHTML = "enough"; 
 
     } 
 
    } 
 
    
 
    var elUserName = document.getElementById("one"); 
 
    elUserName.addEventListener("mouseover", function(event){ 
 
     checkLength(event, 5); 
 
    }, false);
<div> 
 
     <div id="one">Bob</div> 
 
     <div id="two"></div> 
 
    </div>

+0

Vielen Dank für die Unterstützung aus! Darf ich fragen, wie hast du die Antwort kennengelernt? Nur wenn ich das nächste Mal auf ein solches Problem stoße, wünsche ich mir wirklich, dass ich es alleine lösen kann. Danke nochmal für deine Hilfe! – Thor

+2

Nun, ich habe es aus meiner eigenen Erfahrung heraus gelöst, aber wenn ich Probleme habe, habe ich sie noch nicht gesehen oder behandelt, bevor ich die Anwendung debugge. Antworten auf das Problem zu finden, ist normalerweise nicht das Schwierigste. Die wirklichen Probleme zu finden, ist normalerweise das Schwierigste. – MinusFour

+0

Vielen Dank für Ihre Weisheit und nochmals vielen Dank für Ihre Hilfe! Schätze es wirklich. – Thor

Verwandte Themen