que error te produce? type mismatch? de momento no entiendo la logica de esta linea:
Código:
this.detachEvent("on"+evType, this[fn+evType+'n']);
this[fn+evType+'n']=null;
si
fn es una funcion, cuando se concatena una funcion y un string, es el equivalente de hacer
function.toString() + string el cual produce algo como el codigo fuente de la funcion mas la cadena. este no es el tipo de valor que detachEvent requiere.
intentalo asi, practicamente igual como en removeEventListener:
Código:
this.detachEvent("on"+evType, fn);