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 に答える