javascript - 输入类型=附加到 onclick 事件的文件

标签 javascript html file input onclick

我有一个这样的菜单:

<ul class="sub">
    <li><a href="#">New</a></li>
    <li><a href="#">Open</a></li>
    <li><a href="#">Save</a></li>
    <li><a href="#">Help</a></li>
</ul>

我什至想将 onclick 附加到 Open li 上,它会启动文件打开对话框,就像 input type="file" 那样。我可以处理将代码附加到 li 的 onclick 事件,但我不知道要附加什么代码。

TIA

最佳答案

您可以向页面添加一个普通的 input type="file" 并将其设置为隐藏。像这样:

<input type="file" id="theFileInput" style="display:none;" />

(在此示例中仅使用内联样式,我当然建议将样式与标记分开。)

然后您可以发起对其的点击以响应目标元素上的点击事件。使用 jQuery(假设您可以在 li 上设置一个 id,或者以某种方式在选择器中唯一地标识它)它会是这样的:

$('#clickableLiElement').click(function() {
    $('#theFileInput').click();
});

input type="file" 仍然存在,并且可以像任何其他表单元素一样进行交互。它只是对用户不可见。但这会启动“打开文件”对话框并将其值设置为正常的元素,这可以正常包含在发送到服务器的 POST 中。

关于javascript - 输入类型=附加到 onclick 事件的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9400948/

相关文章:

javascript - 当前不支持使用 applyConstraints 切换 facesMode(媒体流 Api)

javascript - JQuery 和 JavaScript 方法

Javascript - 当用户到达某个点时暂停用户滚动

c++ - Dev C++ Wininet 使用 HTTP 上传文件

c - 如何使用 C 文件打开函数打开 .ttcn 文件?

javascript - 选项页面上的 localStorage 为空

javascript - Angular 表达式的解析方式与控制台不同

html - 在 fbml 中悬停 img

javascript - 选择菜单显示未定义不是从数组生成的单词?

android - 如何将文件(pdf、doc 等...)下载到 sdcard 并在 android 中使用 volley 打开文件?