Firefox event.target问题

时间:2016-05-12 07:15:45

标签: javascript firefox events

一般来说,如果我没记错的话,我之前已经使用了至少十几次,但是由于一些上帝遗弃的原因,它从今天早上起就无效了......有人有线索吗?

JSFiddle Example

HTML:

<button id="testID" onclick="foo()">
test me
</button>

<button id="testID2" onclick="foo(this)">
test me 2
</button>

JS:

function foo(event){
alert(event.target.id);
}

1 个答案:

答案 0 :(得分:1)

在第一个示例中,您将undefined传递给event。在第二个示例中,您将按钮传递给event

如果需要事件对象,则必须传递事件对象。这称为event,但我不知道为内部事件属性创建标准的程度。

通常,您最好使用JavaScript绑定事件处理程序。

&#13;
&#13;
function foo(event){
    alert(event.target.id);
}

var buttons = document.querySelectorAll("button");
for (var i = 0; i < buttons.length; i++) {
    buttons[i].addEventListener("click", foo); 
}
&#13;
<button id="testID">
test me
</button>

<button id="testID2">
test me 2
</button>
&#13;
&#13;
&#13;