lic*_*hgo 5 javascript javascript-events addeventlistener
element.onclick = function() { alert(1); }
alert(element.onclick);
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出function(){alert(1); }
然后我继续执行以下代码:
element.addEventListener('click', function() { alert(2); }, false);
alert(element.onclick);
Run Code Online (Sandbox Code Playgroud)
输出仍然是函数(){alert(1); }
实际上当点击元素时,代码addEventListener('click',function(){alert(2);},false); 有效,这意味着新函数alert(2)已写入此元素的onclick属性.但为什么输出仍然不变?
那么,我想知道的是在执行addEventListener时,onclick属性是如何更改的?
期待你的回复.
OnClick是DOM Level 0属性.AddEventListener是DOM Level 2定义的一部分.通过AddEventListener方法添加事件处理程序不会更改元素上的OnClick属性,而是将侦听器添加到元素上的事件侦听器集合.您可以在http://www.w3.org/TR/DOM-Level-2-Events/events.html上找到有关DOM Level 2事件的更多信息.http://en.wikipedia.org/wiki/DOM_events上还有一篇很好的文章.