1

jqueryまたはjsを使用して自動的にクリックする必要があるリンクがあります。

リンクをクリックすると、ファイルは削除されますが、すべてのファイルをアップロードした後、自動的に削除する必要があります。

実際、私はpluploadを使用しており、jquery UIのすべてのファイルを削除する機能があります $('#uploader').plupload('clearQueue');が、これは機能していません。

これは私のリンクです

<a id="deleteallfiles" href="#">[Remove all files]</a>

これは私のスクリプトです:

 <script type="text/javascript">
    // Convert divs to queue widgets when the DOM is ready
    $(function () {
        $("#uploader").plupload({
            // General settings
            runtimes: 'gears,flash,silverlight,browserplus,html5',
            url: 'Final.aspx',
            max_file_size: '10mb',
            max_file_count: 25,
            chunk_size: '1mb',
            unique_names: true,

            // Resize images on clientside if we can
            //                    resize: { width: 320, height: 240, quality: 90 },

            // Specify what files to browse for
            filters: [
        { title: "Image files", extensions: "jpg,gif,png" },
        { title: "Zip files", extensions: "zip" }
    ],

            // Flash settings
            flash_swf_url: 'js/plupload.flash.swf',

            // Silverlight settings
            silverlight_xap_url: 'js/plupload.silverlight.xap'
        });


        // Client side form validation
        $('form').submit(function (e) {
            var uploader = $('#uploader').plupload('getUploader');

            // Files in queue upload them first
            if (uploader.files.length > 0) {
                // When all files are uploaded submit form
                uploader.bind('StateChanged', function () {
                    if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
                        $('form')[0].submit();
                    }
                });

                uploader.start();
            }
            else
                alert('You must at least upload one file.');

            return false;
        });
        var uploader = $('#uploader').plupload('getUploader');
        uploader.bind('FileUploaded', function (up, file, res) {
            $('#showfilelist').append("<div id=" + file.id + " class='thumb'><a href='uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + "' target='_blank' rel='gallery'><img src='uploads/" + document.getElementById("currentDirectory").value + "/" + file.name + "' width='50' height='50'/></a></div>");

          });

        //            $('#uploader').plupload('clearQueue');

        $('#deleteallfiles').click(function (e) {
            $.each(uploader.files, function (i, file) {
                uploader.splice(file);
            });
        });

      });

</script>
4

6 に答える 6

4
$('#someElement').trigger('click');
于 2011-11-02T20:51:34.463 に答える
2

クリック機能を使用するだけです。すなわち

$('#someElement').click();
于 2011-11-02T20:50:52.900 に答える
2

できること:

$("a").click();

これがクリックイベントをトリガーする最も簡単な方法だと思います。

jqueryのドキュメントから:

その単なる省略形:

.trigger('click')
于 2011-11-02T20:51:19.047 に答える
1

私はこれと同じくらい簡単だと思います(IEでテスト済み):

<script type='text/javascript'>
    function simulateClick() {
          var el = document.getElementById('deleteallfiles');
          el.click(); 
    }
</script>

W3Sからの参照は次のとおりです:http ://www.w3schools.com/jsref/dom_obj_all.asp

jQueryを使用した別の実装は次のとおりです:http://api.jquery.com/click/

于 2011-11-02T20:52:26.483 に答える
1

$("#deleteallfiles").trigger("click")jqueryクリックハンドラーが定義されているので機能するはずです。

于 2011-11-02T20:52:42.070 に答える
1

jQuery内でclick()イベントハンドラーを利用するだけです。

説明:イベントハンドラーを「クリック」JavaScriptイベントにバインドするか、要素でそのイベントをトリガーします。

function()が指定されていない場合、イベントは、目的のイベントを目的の要素にアタッチするだけでトリガーされます。

 $('#target').click();

これは実際、人々が見落としがちなことです。

于 2011-11-02T20:52:53.777 に答える