Comment 26 for bug 1086458

Revision history for this message
Jason Etheridge (phasefx) wrote :

Galen++

Hrmm, we should probably wrap all event listener creation in a function that does something similar to you're doing with the patron nav bar. Something like:

function addEventListener(node,type,listener,useCapture) {
  if (typeof window.oils_listeners == 'undefined') { window.oils_listeners = []; }
  try {
    node.addEventListener(type,listener,useCapture);
    window.oils_listeners.push( { 'node' : node, 'type' : type, 'listener' : listener, 'useCapture' : useCapture { );
  } catch(E) {
    alert(E);
  }
}

function my_cleanup() {
  if (typeof window.oils_listeners != 'undefined') {
    for (var i = 0; i < window.oils_listeners.length; i++) {
      window.oils_listeners[i].node.removeEventListener(
        window.oils_listeners[i].type,
        window.oils_listeners[i].listener,
        window.oils_listeners[i].useCapture
      );
      delete window.oils_listeners;
    }
  }
}