相关疑难解决方法(0)

跨浏览器打开文件浏览对话框

我一直在寻找那个圣杯——HTML 格式的漂亮文件对话框。我想出了一个解决方案,该解决方案click()在单击按钮时将 jQuery 用于(隐藏的)文件元素。这在 FireFox 4 中工作正常,但 Chrome 和 Opera 失败。将 更改click()focus()适用于 Chrome,但在 Opera 中不起作用。我还没有测试过 IE,但我还不想彻底放弃生活。

这是当前的代码:

HTML

<div class="formFile" id="profileImgContainer">
    <input type="file" name="profileImg" id="profileImg">

    <label>Profile Picture</label>

    <div>
        <input type="text" id="profileImgText"><input type="button" id="profileImgButton" value="Choose File">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery

$(".formFile input[type='file']").live('change', function()
{
    $(this).parents(".formFile").find("input[type='text']").val($(this).val());
});

$(".formFile input[type='button']").live('click', function()
{
    $(this).parents(".formFile").find("input[type='file']").click();
});

$(".formFile input[type='text']").live('click', function()
{
    $(this).parents(".formFile").find("input[type='file']").click();
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供使用 jQuery/JavaScript 打开文件对话框的跨浏览器方式吗?由于需要输入交互(CSS :hover)等,我不想使用透明元素技巧。

html jquery file-upload

4
推荐指数
1
解决办法
9348
查看次数

标签 统计

file-upload ×1

html ×1

jquery ×1