簡體   English   中英

如何阻止元素中的所有事件影響其余的DOM

[英]How to stop all events inside an element from effecting the rest of the DOM

我正在為我的站點創建一個簡單的文本編輯器。 當按下按鈕時,它將表情符號添加到輸入中。 我試圖停止與表情符號選擇器的任何交互,使輸入失去焦點。

基本上,我希望有某種方法可以在元素及其所有子元素上使用.stopPropogation()。

可能沒有辦法做到這一點。

popup.addEventListener("click", (e)=>{
  console.log('clicked')
  e.stopPropagation()
})

這不行

您將要使用vue的內置refs

 new Vue({ el: '#app', data() { return { text: '' } }, methods: { addEmoji() { this.text += ':)'; this.$refs.textareaX.focus(); } } }) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app" v-cloak> <textarea v-model="text" ref="textareaX"></textarea> <button @click="addEmoji">add smile</button> </div> 

這樣,您就可以充分利用vue的優勢,而不必嘗試退出並設置自己的偵聽器(當vue重新渲染時,可以並將其重置)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM