Есть ли способ получить источник элемента встроенного вызова javaScript?
У меня есть кнопка вроде этого:
<button onclick="doSomething('param')" id="id_button">action</button>
Примечание:
- кнопка создается с сервера
- Я не могу изменить процесс генерации
- на странице создано несколько кнопок, у меня есть контроль только на стороне клиента.
Что я пробовал:
function doSomething(param){
var source = event.target || event.srcElement;
console.log(source);
}
В firebug я получаю событие не определено
Изменить: После некоторых ответов переопределение обработки событий с помощью jQuery очень приемлемо. Моя проблема заключается в том, как вызвать исходную функцию onClick с ее оригинальными prameters и не зная имени функции.
код:
<button onclick="doSomething('param')" id="id_button1">action1</button>
<button onclick="doAnotherSomething('param1', 'param2')" id="id_button1">action2</button>.
<button onclick="doDifferentThing()" id="id_button3">action3</button>
.
.
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..
*/
});