JavaScript, jQuery — как мне правильно использовать эту функцию

#javascript #jquery

#javascript #jquery

Вопрос:

Может быть, я просто сбиваю себя с толку из-за нехватки времени, но как я могу повторно использовать эту функцию без перезагрузки самой страницы?

 $(function() {

    var uploadqueue = $("#uploader").pluploadQueue({
        // General settings
        runtimes : 'html4,silverlight',
        url : 'upload_file.json?hdfs_url=<%=@file_name%>amp;authenticity_token=<%= form_authenticity_token %>',
        max_file_size : '100000000000mb',
        //chunk_size : '1mb',
        unique_names : true,
        multipart: false,
        multiple_queues: true, 
        //multipart_params: {  
        //"authenticity_token" : '<%= form_authenticity_token %>'  
        //},

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

        // Silverlight settings
        silverlight_xap_url : 'javascripts/plupload/plupload.silverlight.xap',
        init : {

                    Refresh: function(up) {
                        // Called when upload shim is moved
                        $(".plupload_header_title").text("Upload files to HDFS");
                        $(".plupload_header_text").text("Files will go in: <%=@file_name%>");
                    },
                    StateChanged: function(up) {
                        // Called when upload shim is moved
                        $.get("file_tree?dir=<%=@file_name%>", function(data){

                            //alert("<%=@rel_link%>")
                            //alert("Command = ul[name*='<%=@rel_link%>']")
                            //alert("Data Loaded: "   $("ul[name*='<%=@rel_link%>']").html()); 
                            $("ul[name*='<%=@rel_link%>']").html($(data).children());                       
                        });

                    }
                }

    });
 

Комментарии:

1. Не могли бы вы быть более точными. Что означает этот код, какую часть вы считаете своей целевой функцией, какие библиотеки вы используете и, главное, какой функциональности вы собираетесь достичь?

Ответ №1:

 $(function(){
    var uploadqueue = upload(); 
}); 

function upload()
{
   return  $("#uploader").pluploadQueue({...}); 
}
 

Затем вы можете звонить upload() куда угодно, просто убедитесь, что документ готов, прежде чем делать это.

Комментарии:

1. Я только что опубликовал почти точно такой же ответ, с опозданием на минуту. 1 за то, что ты у меня в голове.

Ответ №2:

Просто определите ее как отдельную функцию.

 function someFunction(){
   // do your stuff
}

$(function(){
    someFunction();
});
 

Затем вы можете вызвать функцию в другом месте.

Обратите внимание, технически оболочка функции не нужна в document.ready, но я нахожу это немного более понятным в этом контексте.