Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #34116
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: removeeventlistener |
| Date | 2017-10-16 22:18 +0200 |
| Organization | PointedEars Software (PES) |
| Message-ID | <2412105.mvXUDI8C0e@PointedEars.de> (permalink) |
| References | <e4ednXbpPvgtunnEnZ2dnUU7-bXNnZ2d@westnet.com.au> |
Andrew Poulos wrote:
> I have code that looks like this
>
> function elementOver() {
> return function() {
> this.style...
> };
> }
>
> function setOver(elem) {
> for (var i = 0; elem.length; i++) {
> elem[i].addEventListener("mouseover", elementOver() );
> }
> }
>
> function disableOver(elem) {
> for (var i = 0; i < elem.length; i++) {
> elem[i].removeEventListener("mouseover", elementOver() );
> }
> }
>
> Adding the listener works but removing it doesn't. I don't understand
> why not nor how to remove the listeners?
Every time you call elementOver(), you create a *new* Function instance and
return a reference to *that*.
--
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
removeeventlistener Andrew Poulos <ap_prog@hotmail.com> - 2017-10-16 14:29 +1100
Re: removeeventlistener Julio Di Egidio <julio@diegidio.name> - 2017-10-15 21:08 -0700
Re: removeeventlistener Richard Maher <maher_rjSPAMLESS@hotmail.com> - 2017-10-16 13:06 +0800
Re: removeeventlistener Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-16 22:18 +0200
Re: removeeventlistener Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-28 19:48 +0200
Re: removeeventlistener Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-10-28 20:00 +0200
csiph-web