看看这个小提琴(下面的部分代码片段):http: //jsfiddle.net/QJJb8/
<button id='mybutton'>MY BUTTON</button>
mybutton.addEventListener('click', mybuttonClick, false);
function mybuttonClick(e){
alert(e.target.textContent+' WAS CLICKED!');
}
请注意我没有使用 getElementById() 来获取对按钮的引用。为什么它仍然有效?(在 Firefox、Chrome 和 IE9 & 10 中测试。)
是不好的做法/怪癖,还是按钮元素的内置功能?如果是后者,那么在使用按钮元素时这是一个很棒的特权/捷径!或者也许我一直在过度使用 getElementById() ?
//回答更新////////////////////////////////////// //////////////////////
经过一些研究,似乎上面讨论的行为实际上是 HTML5 规范的一部分。除了下面 RobG 的回答之外,另请参阅以下链接以获取更多信息:
http://tjvantoll.com/2012/07/19/dom-element-references-as-global-variables/
https://stackoverflow.com/a/3434388/2434324(链接由 yoelp 提供)