如何用回车键来实现file类型的输入框选取文件,要求和鼠标点击的效果一样的。请大神指教

解决方案 »

  1.   


    <html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <input type="file" id="file">
        <script>
            document.documentElement.addEventListener("keypress",function(e){
                if(e.keyCode === 13){
                    document.getElementById("file").click()
                }
            },false)
        </script>
    </body>
    </html>
      

  2.   

        $('#file').click(function () {
            var me = this;
            var file = $('<input type="file" accept=".jpg,.gif,.png,.jpeg" />');
            var el = file[0];
            file.on('change', function (e) {
                var files = $(this).get(0).files;
                var formData = new FormData();
                formData.append('target', 'image');
                for (var i = 0; i < files.length; i++) {
                    if (files[i].size > 3 * 1024 * 1024) {
                        alert('您选择的文件中有超出3M限制的文件,请重新选择并上传。');
                        return;
                    }
                    if (!/^image\/[a-z]+$/gi.test(files[i].type)) {
                        alert('您选择的文件中有不是图片的文件,请重新选择并上传。');
                        return;
                    }
                    formData.append('fn' + i, files[i].name);
                    formData.append('file' + i, files[i]);
                }
                $.ajax({
                    url: 'https://********/upload.aspx'
                    , type: 'POST'
                    , data: formData
                    , cache: false
                    , contentType: false
                    , processData: false
                    , success: function (data) {
                        console.log(data);
                    }
                });
            });
            el.click();
        });
        $('#file').keyup(e){
            if (e.keyCode == 13) {
                $('#file').click();
            }
        }