javascript中的onClick优先级高于addEventListener?

javascript中的onClick优先级高于addEventListener?,javascript,onclick,handler,addeventlistener,Javascript,Onclick,Handler,Addeventlistener,现在,我有一个事件侦听器,可以侦听屏幕上的单击。屏幕上还有一个按钮。当我单击按钮时,事件侦听器将在onclick之前执行。有没有办法让onclick拥有更高的优先级 <script> document.body.addEventListener('click',function(){alert('1');}, false); function clicked() { alert('2'); } </script> <button onclick="cli

现在,我有一个事件侦听器,可以侦听屏幕上的单击。屏幕上还有一个按钮。当我单击按钮时,事件侦听器将在onclick之前执行。有没有办法让onclick拥有更高的优先级

<script>
document.body.addEventListener('click',function(){alert('1');}, false);

function clicked() { 
    alert('2');
}
</script>
<button onclick="clicked()">Click this</button>

document.body.addEventListener('click',function(){alert('1');},false);
函数已单击(){
警报(“2”);
}
点击这个

单击该按钮还将触发事件处理程序。单击按钮时,1显示在2之前。我想先显示2。

一个解决方案是以不同的方式使用内联。当
.addEventListener
需要等待DOM时,另一方面,在加载DOM时内联
onclick
绑定

<script>
document.body.addEventListener('click',function(){alert('1');}, false);

function clicked() { 
    alert('2');
}
</script>
<button onclick="alert('2');">Click this</button>

document.body.addEventListener('click',function(){alert('1');},false);
函数已单击(){
警报(“2”);
}
点击这个

jsIDLE:

addEventListner
的第三个参数是。如果将其设置为
true
,则当事件向下移动到
按钮
元素时,将执行处理程序。但是,如果将其设置为
false
,则在事件冒泡时将触发处理程序:

  capture phase  | |  / \ bubbling up
-----------------| |--| |-----------------
| element1       | |  | |                |
|   -------------| |--| |-----------     |
|   |element2    \ /  | |          |     |
|   --------------------------------     |
|        W3C event model                 |
------------------------------------------
发件人:


在您的示例中,
onclick
应该在
主体
标记
上的单击处理程序之前执行。如果你想颠倒执行顺序,你应该
捕获
主体上的事件
你能提供一些代码吗?你在
点击()之前缺少
函数
关键字。
定义在这把小提琴中,你会看到2显示在1之前。。。应该如此。您的问题一定在其他地方: