哪一个先执行?

Der*_*會功夫 3 html javascript jscript

这是代码:

<script>
    document.getElementById('btn').addEventListener('mousedown',(function(){
        console.log('code');
    }));
</script>
<input id="btn" type="button" onmousedown="console.log('button')">
Run Code Online (Sandbox Code Playgroud)

哪一个会首先执行,为什么?

Jos*_*Lee 7

内联脚本执行,document.getElementById('btn')计算nullTypeError抛出.

然后你的input标签无法解析.

但是让我们假装你"onmousedown属性添加一个结束并在script元素之后对input元素进行排序.然后你会看到

button
code
Run Code Online (Sandbox Code Playgroud)

因为事件按照它们定义的顺序执行.

  • @pst,优秀问题:http://www.w3.org/TR/DOM-Level-2-Events/events.html第1.3.2节 (2认同)