Danxil, можно сделать так
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<div id="t"> 1212</div>
<script>
//пример использования [start]
var div = document.getElementById('t');
function one() {
console.log(1);
}
function two () {
removeEvent(this, 'click', one, two);
}
addEvent(div, 'click', false, one, two);
//пример использования [end]
// функции можно передавать массивом ([one, two]) или именами как в примере после bool
function addEvent(elem, event, bool, arr) {
if(!isArray(arr)) {
arr = [].splice.call(arguments, 3)
}
_eventList.call(elem, true, event, bool, arr);
}
// функции можно передавать массивом ([one, two]) или именами как в примере после event
function removeEvent(elem, event, arr) {
if(!isArray(arr)) {
arr = [].splice.call(arguments, 2)
}
_eventList.call(elem, false, event, false, arr);
}
function _eventList (isAdd, event, bool, arr) {
var leng = arr.length;
for(var i = 0; i < leng; i++) {
if(isAdd)
this.addEventListener(event, arr[i], bool);
else
this.removeEventListener(event, arr[i]);
}
}
function isArray(arr) {
return !!~{}.toString.call(arr).indexOf('Array');
}
</script>
</body>
</html>