防止从打开文件浏览器中单击文件输入的标签

Sch*_*aus 2 html javascript jquery file-upload

我有一个表单,用户可以上传图像,我<label>为每个输入使用s.但是,在这种特殊情况下,当用户单击标签元素时,不希望打开文件浏览器.我尝试preventDefault在标签上使用jQuery ,但它不起作用.有什么方法可以禁用此功能?我仍然喜欢坚持使用标签而不是用其他元素替换它们.

我的HTML:

<div class="control-group">
    <label for="userImages" class="nodefault">Please upload images</label>
    <div class="controls">
        <input type="file" id="userImages" name="userImages" />
    </div>
<div>
Run Code Online (Sandbox Code Playgroud)

和我的JS:

$(document).ready(function() {
    $(".nodefault").click(function(e) {
        e.preventDefault();
    });
});
Run Code Online (Sandbox Code Playgroud)

我正在使用:
jQuery v1.10.1
jQueryUI v1.10.3
Twitter Bootstrap v2.3.2

Dha*_*hak 5

最后你.ready()错过)了一个错字

$(document).ready(function() {
    $(".nodefault").click(function(e) {
        e.preventDefault();
    });
});
Run Code Online (Sandbox Code Playgroud)

工作正常在这里