主动触发点击事件
由vue代码触发点击事件,实现的效果是:点击按钮,触发 <input> 输入框点击事件,从而实现选择文件。
示例如下:
<template> <input type="file" id="input-upload-file" ref="selectFiles" multiple="multiple"> <el-button class="operation-button-select" @click="handleButtonSelected">选择文件(可多选)</el-button> </template>
<script> export default { name: 'HomePage', methods: { // 按钮点击事件 handleButtonSelected() { // 主动触发点击事件 this.$refs.selectFiles.dispatchEvent(new MouseEvent('click')); }, } } </script>
如何自动触发点击事件
// 两秒后模拟点击 setTimeout(function() { // IE if(document.all) { document.getElementById("desc1").click(); } // 其它浏览器 else { var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); document.getElementById("desc1").dispatchEvent(e); } }, 1000);
desc1为元素的id,额外写上点击这个id会触发的事件。1s后就会执行
模拟点击下载文件、图片
var url = 'http://192.168.10.133/www/xunzhanMob/logo.jpg'; var a = document.createElement('a'); console.log(a) var event = new MouseEvent('click'); a.download = ''; a.href = url; a.dispatchEvent(event);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。