在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue中的事件修飾符順序問題

vue中的事件修飾符順序問題

使用修飾符時,順序很重要;相應(yīng)的代碼會以同樣的順序產(chǎn)生。因此,用 v-on:click.prevent.self 會阻止所有的點擊,而 v-on:click.self.prevent 只會阻止對元素自身的點擊。

不是很理解官方文檔中這句話,然后在網(wǎng)上找也沒找到有詳細分析這句話的。v-on:click.prevent是會阻止所有傳遞來的事件的默認行為,然后后面再加上.self是元素本身觸發(fā)時才觸發(fā)回調(diào)函數(shù),是這個意思嗎?

回答
編輯回答
懷中人

它的意思就是前面的條件滿足了,才會去執(zhí)行后面的。

// 給a一個內(nèi)邊框
<div class="a">
    <div class="b"></div>
</div>

a.@click.self.prevent="c"的意思是當你點擊的元素是a的時候,才會prevent默認事件,而且執(zhí)行c事件,如果你點擊了b,由于事件傳播,傳播給了a,但是這個時候判斷出這個點擊事件不是a觸發(fā)的,所以不會prevent,也不會觸發(fā)c事件。

a.@click.prevent.self="c"總是先執(zhí)行prevent,無論是內(nèi)部元素還是本身元素觸發(fā),他都會prevent默認事件。只不過只有當你點擊a元素的時候,才會觸發(fā)c事件,點擊內(nèi)部元素不觸發(fā)c事件。

所以官網(wǎng)上的這句話,v-on:click.prevent.self 會阻止所有的點擊的意思是它會阻止所有點擊的默認事件,并且只有點擊當前元素才會觸發(fā)你定義的事件。同理可理解后面那句話。

2017年2月26日 15:24