0

私はHTMLを持っています:

<span class="btn btn-success js-uploader">
    <i class="icon-upload icon-white"></i> Upload
    <input type="file" multiple>
</span>

そしてjQuery/JavaScript:

$('.js-uploader').click(function(){
    $(this).find('input[type="file"]').click();
});

基本的に、クラスのあるスパンを.js-uploadクリックすると、ファイル入力もクリックする必要があります。しかし、.find()またはを使用.js-uploader > input[type="file"]すると、RangeErrorが発生します。

4

2 に答える 2

4

コンソールメッセージ:too much recursion

入力をクリックすると、スパンすることもできますが、スパンクリックハンドラーも入力をクリックします

event.targetが入力されているかどうかを確認してください

$('.js-uploader').click(function(e){
     if ($(e.target).is('input[type="file"]')) return;
     $(this).find('input[type="file"]').click();
});
于 2012-07-25T06:13:55.000 に答える
0

重い再帰..ここでフィドルを確認してください..http ://jsfiddle.net/umBWV/1/を知ることができます

于 2012-07-25T06:16:02.590 に答える