Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js EventListener_Javascript_Vue.js - Fatal编程技术网

Javascript Vue.js EventListener

Javascript Vue.js EventListener,javascript,vue.js,Javascript,Vue.js,我对Vue.js完全是新手,我必须使用它来完成编程任务。 我在Vue文件中调用纯JS时遇到了麻烦。 我只需要在元素上添加一个事件侦听器,下面是一个示例: document.getElementById("mp_addCloud").addEventListener('hover',function(){ alert(1); }) 我可以不在前端使用v-on吗?也许调用一个匿名函数?(我不想做任何用户调用操作) 谢谢是的。在包含元素#mp#u addCloud的组件中,您可以说出以下内容: th

我对Vue.js完全是新手,我必须使用它来完成编程任务。 我在Vue文件中调用纯JS时遇到了麻烦。 我只需要在元素上添加一个事件侦听器,下面是一个示例:

document.getElementById("mp_addCloud").addEventListener('hover',function(){
alert(1);
})
我可以不在前端使用v-on吗?也许调用一个匿名函数?(我不想做任何用户调用操作) 谢谢

是的。在包含元素
#mp#u addCloud
的组件中,您可以说出以下内容:

this.$el.querySelector(“#mp_addCloud”).addEventListener(…)

澄清:在该声明中,
这是Vue组件
$el
是该组件的根元素

编辑:正如@cccn在其回答中所述,事件名称是
mouseover
,而不是
hover

编辑2:如果要使用v-on指令,可以将事件包装在匿名函数中或调用Vue元素上的方法:

匿名函数:

通过方法:

使用这种方法,您需要在Vue组件的方法中定义方法:

methods: {
   myAlertMethod() {
    alert('1');
  }
}


这与Vue无关。你只是使用了错误的事件。尝试使用
mouseover
而不是
hover

询问者还抱怨“在Vue文件中调用纯JS时遇到麻烦”,因此在这种情况下不是Vue的事情。尽管已经回答了,我还是很好奇:为什么不使用v-on处理程序?如果你在Vue.JS中使用document.getElementById,那么你就做错了。改为使用零部件,或者更糟的是使用参照