Getting the ID of the element that fired an event
dom-events, javascript, jquery
Solution
In jQuery `event.target` always refers to the element that triggered the event, where `event` is the parameter passed to the function. http://api.jquery.com/category/events/event-object/
$(document).ready(function() {
$("a").click(function(event) {
alert(event.target.id);
});
});
Note also that `this` will also work, but that it is not a jQuery object, so if you wish to use a jQuery function on it then you must refer to it as `$(this)`, e.g.:
$(document).ready(function() {
$("a").click(function(event) {
// this.append wouldn't work
$(this).append(" Clicked");
});
});
Problem
Is there any way to get the ID of the element that fires an event? I'm thinking something like: ``` $(document).ready(function() { $("a").click(function() { var test = caller.id; alert(test.val()); }); }); ``` ``` <script type="text/javascript" src="starterkit/jquery.js"></script> <form class="item" id="aaa"> <input class="title"></input> </form> <form class="item" id="bbb"> <input class="title"></input> </form> ``` Except of course that the var `test` should contain the id `"aaa"`, if the event is fired from the first form, and `"bbb"`, if the event is fired from the second form.