Автоматически нажимать гиперссылку в jquery / js - PullRequest
1 голос
/ 03 ноября 2011

У меня есть ссылка, по которой мне нужно автоматически щелкнуть по ней, используя 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>

Ответы [ 6 ]

4 голосов
/ 03 ноября 2011
$('#someElement').trigger('click');
2 голосов
/ 03 ноября 2011

Можно просто сделать:

$("a").click();

Я думаю, что это может быть самый простой способ вызвать событие щелчка.

Из документации jquery :

Это просто сокращение для:

.trigger('click')
2 голосов
/ 03 ноября 2011

Вы просто используете функцию щелчка.т.е.

$('#someElement').click();
1 голос
/ 03 ноября 2011

Просто используйте обработчик событий click () в jQuery:

Описание: привязать обработчик события к событию JavaScript "click" или вызвать это событие на элементе.

Если функция () не указана, событие будет вызвано простым присоединением нужного события к нужному элементу:

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

На самом деле это обычное явление, когда я вижу, что люди слишком упускают из виду.

1 голос
/ 03 ноября 2011

$("#deleteallfiles").trigger("click") Должно работать так, как определен обработчик щелчков jquery.

1 голос
/ 03 ноября 2011

Я думаю, что все так просто (проверено в 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/

...