您可以添加事件参数来获取事件目标:
事件
function test(data, e) {
// do important stuff with data
var evt=e||window.event;
var el=evt.target||evt.srcElement;
var id=el.id; // id of the clicked div
}
这将需要这些调用:
<div id="one" onclick="test('important data one', event)">ONE</div>
<div id="two" onclick="test('important data two', event)">TWO</div>
或者,如果您认为除了这个特定元素之外不需要其他任何东西,您可以像这样直接传递它:
元素
function test(data, element) {
// do important stuff with data
var id=element.id;
}
这将需要这些调用:
<div id="one" onclick="test('important data one', this)">ONE</div>
<div id="two" onclick="test('important data two', this)">TWO</div>
不同之处在于,在第一种情况下,您最终可以获得有关刚刚处理的事件的更多信息。在第二种情况下,您只能获取有关触发事件的元素的信息(如果您认为您永远不需要有关该事件的更多信息,则效率更高)。