2017-05-31 3 views
2

So habe ich diese Situation, wo ich auf Touchstart hören muss. Das funktioniert gut, aber es müssen Parameter übergeben werden, da es möglicherweise mehrere dieser Listener für verschiedene Eingaben gibt. Ich habe das auf stackoverflow gefunden und getestet. Es funktioniert gut mit Bind, aber jetzt ist mein removeEventListener Titten gegangen. Ich kann nicht herausfinden, wie man es entfernt, wenn ich die Parameter übergebe (was ich will). Vielen Dank.Der Versuch, removeeventlistener nach Bindung zu verwenden

function some_func(otherFunc, ev) { 
 
    // magic happens 
 
} 
 
someObj.addEventListener("click", some_func.bind(null, some_other_func), false);​

Antwort

3

Sie müssen einen Verweis auf den Hörer zu halten, so dass Sie es zu entfernen, werden in der Lage.

var listener = some_func.bind(null, some_other_func); 
someObj.addEventListener("click", listener, false); 
...​ 
someObj.removeEventListener("click", listener, false);​ 
+0

Vielen Dank. Ich hatte gehofft, dass es einen besseren Weg gibt, die Zuhörer zu entfernen, anstatt all diese Zuhörer im Auge zu behalten, aber ich denke, so wird es sein ... einzigartig für jeden Zuhörer. Danke noch einmal. –

+0

Welche Art von API erwarten Sie zum Entfernen? – amiramw

Verwandte Themen