Javascript 如何阻止元素内的所有事件影响DOM的其余部分

Javascript 如何阻止元素内的所有事件影响DOM的其余部分,javascript,vue.js,Javascript,Vue.js,我正在为我的站点创建一个简单的文本编辑器。当按下按钮时,会在输入中添加表情符号。我试图阻止与表情选择器的任何交互,以免导致输入失去焦点 基本上,我希望有某种方法可以在元素及其所有子元素上使用.stopPropogation() 有可能就是没有办法做到这一点 popup.addEventListener("click", (e)=>{ console.log('clicked') e.stopPropagation() }) 这不起作用您需要使用vue的内置: newvue({

我正在为我的站点创建一个简单的文本编辑器。当按下按钮时,会在输入中添加表情符号。我试图阻止与表情选择器的任何交互,以免导致输入失去焦点

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

有可能就是没有办法做到这一点

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

这不起作用

您需要使用vue的内置:

newvue({
el:“#应用程序”,
数据(){
返回{
文本:“”
}
},
方法:{
addEmoji(){
this.text+=':)';
这是。$refs.textareaX.focus();
}
}
})

添加微笑

您必须重新聚焦输入。在元素上添加一个ref,然后在it@DerekPollard无需手动重新聚焦-如果需要,还可以在
mousedown
事件上调用
preventDefault
want@CertainPerformance这不是vue的方式。您不应该在Vue中使用自定义侦听器