У меня есть такая кнопка:
action
Примечание:
- кнопка генерируется с сервера.
- Я не могу изменить процесс генерации
- на странице генерируется несколько кнопок, я могу управлять только на стороне клиента.
function doSomething(param) {
var source = event.target || event.srcElement;
console.log(source);
}
В Firebug я получаю
событие не определено
Изменить
После некоторых ответов переопределение обработки событий с использованием jQuery вполне приемлемо. Моя проблема заключается в том, как вызвать исходную функцию onClick с ее исходными параметрами и без знания имени функции.
Код:
action1
action2.
action3
// and so on..
Итак, переопределение будет следующим:
$(document).on('click', 'button', function(e) {
e.preventDefault();
var action = $(this).attr('onclick');
/**
* What to do here to call
* - doSomething(this, 'param'); if button1 is clicked
* - doAnotherSomething(this, 'param1', 'param2'); if button2 is clicked
* - doDifferentThing(this); if button3 is clicked
* there are many buttons with many functions..
*/
});
Подробнее здесь: https://stackoverflow.com/questions/104 ... ce-element
Мобильная версия