我有一個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元素的標籤做 –