您既可以添加事件參數來獲取活動對象:
事件
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>
不同的是,在第一種情況下,你可以最終得到m瞭解剛剛處理的事件的相關信息。在第二種情況下,您只能獲取有關觸發事件的元素的信息(如果您認爲不需要關於事件的更多信息,則效率更高)。
將'this'添加到每個onclick將是最簡單的選項。 – tymeJV
不確定這一點,但是,因爲您在onclick =「」範圍內,是否沒有e或事件變量?可能看看那裏,如果是的話,它應該包含事件目標。 (div) – Johan
@Johan不在Firefox中Firefox – Musa