Насколько я знаю, вы вообще не можете добавить два обработчика onclick к элементу.
Скажем, obj является элементом, тогда свойство onclick объекта obj считается функцией, а затем вызывается как метод всякий раз, когда происходит это событие. Если это не функция, ничего не произойдет.
JavaScript унаследовал от Scheme очень интересное свойство, в JavaScript вы не определяете функции как в PHP или C. Вы создаете анонимные функции и сохраняете их в переменной. Javascript - это «Lisp-1», здесь нет идентификаторов функций, есть переменные, которые могут содержать номера, массивы и функции.
function name(arg) {return arg;}
Если я не ошибаюсь, действительно сахар для:
name = function(arg) {return arg;};
'name' здесь переменная, мы также можем переопределить ее независимо от того, как мы определили эту функцию. В отличие от объектной модели Java, в Javascript «метод» - это просто свойство, переменная, которая просто содержит функцию, которая может использовать или не использовать ключевое слово «this». Вот почему вы не можете иметь два события onclick одновременно. Среда выполнения просто вызывает свойство (которое, как ожидается, будет содержать функцию) элемента, называемого onclick, всякий раз, когда вы щелкаете по нему. Рассматривайте это как то же поведение типа ad hoc вызова 'main' для запуска программы.
Чтобы назначить несколько обработчиков событий, вы используете функцию с побочным эффектом, например.
obj.onclick = function {firstEvent();secondEvent();}
Чтобы изменить или удалить его, мы переназначаем или отменяем его как любую переменную.
obj.onclick = null;
И в случае, если нам нужно вызвать это поведение по-другому:
obj.onclick();
Мы также можем использовать это в этой функции, конечно, чтобы изменить сам объект или ссылаться на него.
Редактировать: Ой, подожди, теперь я вижу, что ты имеешь в виду с помощью кнопки много разных кнопок.
Ну, тогда вы просто собираете все элементы, как:
allElements = document.getElementsByTagName('*');
А затем вы используете цикл:
var i = 0; while(obj = allElements[i++]) obj.onclick = null;
(и нет, этот одиночный = не опечатка)