2

我有一个表单,用户可以在其中上传图像,并且<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>

和我的 JS:

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

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

4

2 回答 2

6

你最后有一个.ready()错字)

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

在这里工作正常

于 2013-07-26T15:58:00.447 回答
2

ready()未关闭

$(document).ready(function () {
    $(".nodefault").click(function (e) {
        e.preventDefault();
    });
});
于 2013-07-26T15:58:51.280 回答