当点击一个按钮,我想事件对象e的现代浏览器一样Firefox,Chrome,etc.问题是当点击按钮给我一个undefined事件对象时,注意window.event在internet explorer浏览器中使用时获取事件对象.
// the Object
var countdown = {
hours: 0,
minutes: 0,
seconds: 0,
element_h: null,
element_m: null,
element_s: null,
init: function (hElemId, mElemId, sElemId) {
this.element_h = document.getElementById(hElemId);
this.element_m = document.getElementById(mElemId);
this.element_s = document.getElementById(sElemId);
},
play: function (e){
alert(e.target);
}
};
Run Code Online (Sandbox Code Playgroud)
HTML:
<button onclick="countdown.play();">Play</button>
Run Code Online (Sandbox Code Playgroud)
您必须将event对象显式传递给onclick处理程序,如下所示
<button onclick="countdown.play(event);">Play</button>
Run Code Online (Sandbox Code Playgroud)
引用MDN的事件注册文档页面,
属性中的JavaScript代码通过event参数传递给Event对象.
在内联注册事件处理程序时,可以为该Event对象提供event参数.但这不会自动完成.这就是我们必须明确传递event对象的原因.由于您未通过它,e因此undefined默认情况下.