2016-06-02 13 views
0

Da ist mein Problem. Ich habe dies mit dem Fall, div (Onclick):Ist es möglich, einen Event Listener ohne removeEventListener zu entfernen?

<div style="float: left; margin-bottom: 10px; background-image: url('../bundles/web/img/370799.jpg'); background-repeat: no-repeat; margin-left: 5px; border-radius: 10px 10px 10px 10px; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; padding-left: 10px; padding-top: 5px; padding-bottom: 5px; padding-right: -10px;"> 
    {% for card in cards %} 
     <div id="{{ card.id }}" onclick="getImage({{ card.id }})" style="float:left;"> 
      <img class="img-responsive" style="width: 100px; height: 130px;" src="{{'../bundles/web/img/cartas/' ~ card.image }}"> 
     </div> 
    {% endfor %} 
</div> 

Und Javascript für den Ereignis-Listener entfernen, aber ich lese die Dokumentation von removeEventListener(), aber sagt, dass diese Funktion nur bei der Verwendung von addEventListener arbeitet() :

<script type="text/javascript"> 
    function getImage(e) { 
     document.getElementById(1).appendChild(
      document.getElementById(e) 
    ); 

     document.getElementById(e).removeEventListener("onclick", getImage); 
    } 
</script> 

Das ist alles. Danke für die Hilfe :)

Antwort

2

Sie können einen Inline-Event-Handler durch Entfernen der entsprechenden Eigenschaftswert Einstellung

document.getElementById(e).onclick = null; 
+0

... oder nicht definiert oder eine leere Zeichenfolge oder irgendetwas :-) – devnull69

+0

Oh mein Gott auf null, diese ist so peinlich. Zu viele Stunden Arbeit ... –

+0

@ devnull69 Ein [Event-Handler] (https://www.w3.org/TR/html5/webappapis.html#event-handlers) kann entweder den Wert null haben oder auf a gesetzt werden Callback-Objekt oder auf einen internen rohen nicht kompilierten Handler gesetzt werden. Also denke ich, dass "null" besser ist, auch wenn andere Werte auch funktionieren, weil sie unter der Haube zu null konvertiert werden. – Oriol

Verwandte Themen