2011-11-02 111 views
1

我有一个链接,我需要使用jquery或js自动点击它。自动点击超链接在jquery/js

如果我点击链接文件正在删除,但我需要在上传所有文件后自动执行。

其实我认为plupload和它有functonality为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> 
+0

您只需使用click()函数。 –

+0

是的,我试过这种方式document.getElementById(“deleteallfiles”)。click = document.getElementById(“deleteallfiles”)。disabled = true;它但没有工作。 – coder

+0

确保您使用jquery分配事件处理程序并调用该事件,否则可能会出现问题。如果您使用document.getElementById来分配,jQuery将不知道该处理程序......“点击”只是一个属性,请记住。 –

回答

2

您只需使用点击功能。即

$('#someElement').click(); 
2

待办事项可以这样做:

$("a").click(); 

我认为这可能是触发单击事件simpelst方式。

jquery documentation

它只是一个为简写:

.trigger('click') 
4
$('#someElement').trigger('click'); 
1

$("#deleteallfiles").trigger("click")应该像您所定义的jquery点击处理程序一样工作。

1

只需利用click()事件处理程序中的jQuery:

说明:绑定的事件处理程序“单击” JavaScript事件,或者触发 元素上的事件。

如果没有指定函数(),然后该活动将通过简单的连接所需的事件所需的元素被触发:

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

其实,这是我看到人们忽视太常见的事许多。