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

您只需使用点击功能。IE

$('#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 回答