javascript – 我如何理解高级jquery概念

每当我看到任何插件代码时,我都无法理解80%的代码.

我也知道一些
jquery并且已经成功了但是我找不到他们在插件中做过的事情.

通常是我在10行中执行的代码,它们使用高级方法执行一些快捷方式并在1中完成.

例如,这是来自jquery fileupload插件的代码

 // Callback for uploads start, equivalent to the global ajaxStart event:
            start: function (e) {
                var that = $(this).data('fileupload');
                that._transition($(this).find('.fileupload-progress')).done(
                    function () {
                        that._trigger('started', e);
                    }
                );
            },

我不知道到底发生了什么,为什么函数名称以下划线开头.做了什么以及所有这些.

在那里我可以找到用例子完全解释的那种东西,这样我也可以减少我的代码

最佳答案 这就是我理解的方式:

start是回调函数,因为注释表示Callback for uploads start,相当于全局ajaxStart事件

var即eq.至:

Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element.

当设置变量时,会调用名为_transition的函数,我猜这是Ajax调用的一些扩展,因为我们稍后调用done函数.可能作者拥有工作,因此您需要搜索代码.

此函数作为$(this).find('.fileupload-progress')选择器返回的参数对象列表获取.

最后,我们调用done函数,我猜是eq.到jQuery.ajax().done(),在成功的Ajax请求之后调用.在内部完成后,还有另一个匿名函数回调

.done(function(){
    ....
}) 

哪里有另一个名为_trigger的函数,其中字符串已启动,主函数的回调事件为e.

并回答你的上一个问题:

在哪里我可以找到那些用例子完全解释的东西,这样我也可以减少我的代码?

事实是,如果不写自己的东西,你可能永远都不会知道.经验和编码是关键.通过搜索某些解决方案,你会发现像这样的新东西.所以保持编码伴侣!

点赞