请查看这个 fiddle(以下是部分代码片段):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&amp; 10中测试。)
这是不好的实践/怪癖,还是内置的按钮元素功能?如果是后者,那么在使用按钮元素时,这是一个很棒的奖励/快捷方式!或者也许我一直过度使用getElementById()?
//答案更新//////////////////////////////////////////////////////////////////////
经过一些研究,似乎上述讨论的行为实际上是HTML5规范的一部分。除了下面RobG的答案外,还可以参考以下链接以获得更多见解:
http://tjvantoll.com/2012/07/19/dom-element-references-as-global-variables/
https://dev59.com/-3A75IYBdhLWcg3wK1wp#3434388(由yoelp提供的链接)
该链接提供了有关编程相关内容的信息。