亲宝软件园·资讯

展开

主动触发点击事件

Withered Wood 人气:0

主动触发点击事件

由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);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论