鍍金池/ 問答/HTML/ 為什么vue中的事件綁定不遵循DOM標(biāo)準(zhǔn)的事件模型

為什么vue中的事件綁定不遵循DOM標(biāo)準(zhǔn)的事件模型

clipboard.png
<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>

</head>

<body>

<!-- 開發(fā)環(huán)境版本,包含了有幫助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
    <div @click="div">
        <span @click="span">1231</span>

    </div>
</div>
<script>
    new Vue({
        el: '#app',
        data: {

        },
        methods: {
            span() {
                console.log('span');
            },
            div() {
                console.log('div');

            },
        }
    })
</script>

</body>

</html>
先觸發(fā)了span, 再觸發(fā)div

回答
編輯回答
孤巷

js處理事件默認(rèn)都是在冒泡階段(vue也是),所以會先觸發(fā)span再觸發(fā)div,vue中可以通過事件修飾符讓事件在捕獲階段觸發(fā)

<div :click.capture="handleClick">...</div>
2017年3月5日 05:23
編輯回答
陌上花

事件是冒泡機(jī)制,點擊外層,內(nèi)部先觸發(fā),冒泡給父級。 dom也是這樣的啊

2018年2月14日 14:53
編輯回答
替身

沒錯呀,如果需要監(jiān)聽捕獲,使用@click.capture

2017年7月28日 15:21