很难用$ .event.special

时间:2017-07-14 01:56:50

标签: javascript jquery

所以我是JQuery的新手,因此正在阅读一些随机的JQuery插件来帮助我理解它。我到达了下面的代码,并且很难理解它。

/*
* smartresize: debounced resize event for jQuery
*
* latest version and complete README available on Github:
* https://github.com/louisremi/jquery.smartresize.js
*
* Copyright 2011 @louis_remi
* Licensed under the MIT license.
*/


var $event = $.event, resizeTimeout;

$event.special.smartresize  = {
    setup: function() {
        $(this).bind( "resize", $event.special.smartresize.handler );
    },
    teardown: function() {
        $(this).unbind( "resize", $event.special.smartresize.handler );
    },
    handler: function( event, execAsap ) {
        // Save the context
        var context = this,
            args    = arguments;

        // set correct event type
        event.type = "smartresize";

        if ( resizeTimeout ) { clearTimeout( resizeTimeout ); }
        resizeTimeout = setTimeout(function() {
            jQuery.event.handle.apply( context, args );
        }, execAsap === "execAsap"? 0 : 50 );
    }
};

$.fn.smartresize            = function( fn ) {
    return fn ? this.bind( "smartresize", fn ) : this.trigger( "smartresize", ["execAsap"] );
};

我读了$ event.special并确定了setup和teardown - handler函数虽然对我来说似乎是随机的。我不知道execAsap应该代表什么。争吵无处不在。

帮帮我plx。

0 个答案:

没有答案