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

时间:2013-07-26 15:55:18

标签: javascript jquery html file-upload

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

我的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>

和我的JS:

$(document).ready(function() {
    $(".nodefault").click(function(e) {
        e.preventDefault();
    });
});

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

2 个答案:

答案 0 :(得分:5)

最后.ready()遗失了)

$(document).ready(function() {
    $(".nodefault").click(function(e) {
        e.preventDefault();
    });
});

Works fine Here

答案 1 :(得分:2)

ready()未关闭

$(document).ready(function () {
    $(".nodefault").click(function (e) {
        e.preventDefault();
    });
});