我有一个div和一个文件输入框。当我们点击div时,文件输入的点击将被触发。如何在vue.js中做到这一点?从vue.js中的另一个元素触发一个事件
0
A
回答
2
您必须访问DOM才能触发输入的点击事件。
但Vue公司可以使它很方便与ref
/$refs
feature
有了它,你可以在“标志”在模板中的元素,并方便地从组件的代码中访问它,而不依赖于选择。
new Vue({
el: '#app',
methods: {
clickHandler() {
this.$refs.fileInput.click()
}
}
})
.button {
padding: 10px;
border-radius: 5px;
border: 1px solid #CCC;
display: inline-block;
}
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<div id="app">
<div class="button" @click="clickHandler">Click me!</div>
<input type="file" ref="fileInput">
</div>
+0
哎呀你3秒末 –
+2
请当你回答时总是包括你的代码的一些解释。 –
+0
感谢提醒,编辑我的答案。那个更好吗? –
0
你输入和点击监听器添加ref
到您的包装div
<div @click="triggerFileInput" id="wrapper">
<input type="file" ref="myFile">
</div>
methods:{
triggerFileInput(){
this.$refs.myFile.click();
}
}
相关问题
- 1. 触发事件另一种元素
- 2. 事件一个元素上触发另一
- 3. 从一个事件触发另一个事件
- 4. 取消从另一个元素的事件事件触发(模糊)(点击)
- 5. 触发事件从另一个线程
- 6. 触发另一个类中的事件
- 7. 在事件触发时更新另一个元素
- 8. 触发另一个控件的事件
- 9. jQuery更改事件只触发三个元素中的一个
- 10. 触发从一个视图到另一个视图的事件
- 11. 一个元素上的CSS事件,更改另一个元素
- 12. Silverlight触发一个事件,然后再触发另一个事件
- 13. 防止触发事件从另一个精灵下触发
- 14. 事件触发的多个元素,而不是一个在* ngFor
- 15. 在CQRS中触发另一个命令的一个事件
- 16. jQuery的 - 点击一个元素上触发另一个
- 17. 从一个元素复制JS事件到另一个
- 18. 如何调用JQuery中另一个元素中的一个元素的事件
- 19. JQuery Combobox触发另一个事件
- 20. 如何让一个鼠标事件在被另一个元素遮挡的元素上触发?
- 21. 如何将javascript事件从一个元素传递到另一个元素?
- 22. 触发ajax元素通过另一个元素(不是另一个“单击不工作后ajax”)触发.click()
- 23. jQuery:让一个元素充当另一个元素作为另一个元素的事件代理
- 24. 从触发了另一个元素事件的单击元素中检索数据属性
- 25. 基于一个元素的变化事件触发多个事件 - jQuery
- 26. c#从另一个类中的另一个静态事件引发事件
- 27. 如何获取前一个事件触发的元素的id?
- 28. 一个HTML元素监听一个事件,然后监听另一个事件
- 29. jQuery从元素中获取文本,而在另一个元素上触发(“mouseenter”)
- 30. OnSelectedIndexChanged事件不会触发DropDownList的第一个元素
你可以用HTML元素的标签做 –