(emitter, type, f)
| 547 | } |
| 548 | |
| 549 | function off(emitter, type, f) { |
| 550 | if (emitter.removeEventListener) { |
| 551 | emitter.removeEventListener(type, f, false); |
| 552 | } else if (emitter.detachEvent) { |
| 553 | emitter.detachEvent("on" + type, f); |
| 554 | } else { |
| 555 | var map = emitter._handlers, arr = map && map[type]; |
| 556 | if (arr) { |
| 557 | var index = indexOf(arr, f); |
| 558 | if (index > -1) |
| 559 | { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); } |
| 560 | } |
| 561 | } |
| 562 | } |
| 563 | |
| 564 | function signal(emitter, type /*, values...*/) { |
| 565 | var handlers = getHandlers(emitter, type); |
no test coverage detected