Blu*_*xir 8 javascript onclick handler addeventlistener
现在,我有一个事件监听器,可以监听屏幕上的点击.屏幕上还有一个按钮.当我点击按钮时,事件监听器将在onclick之前执行.有没有办法让onclick有更高的优先级?
<script>
document.body.addEventListener('click',function(){alert('1');}, false);
function clicked() {
alert('2');
}
</script>
<button onclick="clicked()">Click this</button>
Run Code Online (Sandbox Code Playgroud)
单击该按钮也会触发事件处理程序.1显示在2之前,当我点击按钮时.我想要先显示2.
mus*_*_ut 23
addEventListner第三个论点是useCapture旗帜.如果将其设置为true,则在事件向下移动到button元素时将执行处理程序.但是,如果将其设置为false,则在事件冒泡时将触发处理程序:
capture phase | | / \ bubbling up
-----------------| |--| |-----------------
| element1 | | | | |
| -------------| |--| |----------- |
| |element2 \ / | | | |
| -------------------------------- |
| W3C event model |
------------------------------------------
Run Code Online (Sandbox Code Playgroud)
来自:http://www.quirksmode.org/js/events_order.html#link4
在您的示例中,onclick 应该在标记上的单击处理程序之前执行body.如果你想颠倒执行的顺序,你应该capture把事件放在body.
| 归档时间: |
|
| 查看次数: |
7738 次 |
| 最近记录: |